ABCF->ab-angle angle

Percentage Accurate: 53.5% → 88.0%
Time: 24.7s
Alternatives: 23
Speedup: 2.4×

Specification

?
\[\begin{array}{l} \\ 180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \end{array} \]
(FPCore (A B C)
 :precision binary64
 (*
  180.0
  (/
   (atan (* (/ 1.0 B) (- (- C A) (sqrt (+ (pow (- A C) 2.0) (pow B 2.0))))))
   PI)))
double code(double A, double B, double C) {
	return 180.0 * (atan(((1.0 / B) * ((C - A) - sqrt((pow((A - C), 2.0) + pow(B, 2.0)))))) / ((double) M_PI));
}
public static double code(double A, double B, double C) {
	return 180.0 * (Math.atan(((1.0 / B) * ((C - A) - Math.sqrt((Math.pow((A - C), 2.0) + Math.pow(B, 2.0)))))) / Math.PI);
}
def code(A, B, C):
	return 180.0 * (math.atan(((1.0 / B) * ((C - A) - math.sqrt((math.pow((A - C), 2.0) + math.pow(B, 2.0)))))) / math.pi)
function code(A, B, C)
	return Float64(180.0 * Float64(atan(Float64(Float64(1.0 / B) * Float64(Float64(C - A) - sqrt(Float64((Float64(A - C) ^ 2.0) + (B ^ 2.0)))))) / pi))
end
function tmp = code(A, B, C)
	tmp = 180.0 * (atan(((1.0 / B) * ((C - A) - sqrt((((A - C) ^ 2.0) + (B ^ 2.0)))))) / pi);
end
code[A_, B_, C_] := N[(180.0 * N[(N[ArcTan[N[(N[(1.0 / B), $MachinePrecision] * N[(N[(C - A), $MachinePrecision] - N[Sqrt[N[(N[Power[N[(A - C), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[B, 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 23 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 53.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ 180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \end{array} \]
(FPCore (A B C)
 :precision binary64
 (*
  180.0
  (/
   (atan (* (/ 1.0 B) (- (- C A) (sqrt (+ (pow (- A C) 2.0) (pow B 2.0))))))
   PI)))
double code(double A, double B, double C) {
	return 180.0 * (atan(((1.0 / B) * ((C - A) - sqrt((pow((A - C), 2.0) + pow(B, 2.0)))))) / ((double) M_PI));
}
public static double code(double A, double B, double C) {
	return 180.0 * (Math.atan(((1.0 / B) * ((C - A) - Math.sqrt((Math.pow((A - C), 2.0) + Math.pow(B, 2.0)))))) / Math.PI);
}
def code(A, B, C):
	return 180.0 * (math.atan(((1.0 / B) * ((C - A) - math.sqrt((math.pow((A - C), 2.0) + math.pow(B, 2.0)))))) / math.pi)
function code(A, B, C)
	return Float64(180.0 * Float64(atan(Float64(Float64(1.0 / B) * Float64(Float64(C - A) - sqrt(Float64((Float64(A - C) ^ 2.0) + (B ^ 2.0)))))) / pi))
end
function tmp = code(A, B, C)
	tmp = 180.0 * (atan(((1.0 / B) * ((C - A) - sqrt((((A - C) ^ 2.0) + (B ^ 2.0)))))) / pi);
end
code[A_, B_, C_] := N[(180.0 * N[(N[ArcTan[N[(N[(1.0 / B), $MachinePrecision] * N[(N[(C - A), $MachinePrecision] - N[Sqrt[N[(N[Power[N[(A - C), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[B, 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}
\end{array}

Alternative 1: 88.0% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\\ t_1 := \frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\\ \mathbf{if}\;t_0 \leq -0.02:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} t_1}{\pi}\\ \mathbf{elif}\;t_0 \leq 0:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(e^{\mathsf{log1p}\left(t_1\right)} + -1\right)}{\pi}\\ \end{array} \end{array} \]
(FPCore (A B C)
 :precision binary64
 (let* ((t_0
         (* (/ 1.0 B) (- (- C A) (sqrt (+ (pow (- A C) 2.0) (pow B 2.0))))))
        (t_1 (/ (- (- C A) (hypot (- A C) B)) B)))
   (if (<= t_0 -0.02)
     (/ (* 180.0 (atan t_1)) PI)
     (if (<= t_0 0.0)
       (/ (* 180.0 (atan (/ 1.0 (+ (* -2.0 (/ C B)) (* 2.0 (/ A B)))))) PI)
       (* 180.0 (/ (atan (+ (exp (log1p t_1)) -1.0)) PI))))))
double code(double A, double B, double C) {
	double t_0 = (1.0 / B) * ((C - A) - sqrt((pow((A - C), 2.0) + pow(B, 2.0))));
	double t_1 = ((C - A) - hypot((A - C), B)) / B;
	double tmp;
	if (t_0 <= -0.02) {
		tmp = (180.0 * atan(t_1)) / ((double) M_PI);
	} else if (t_0 <= 0.0) {
		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / ((double) M_PI);
	} else {
		tmp = 180.0 * (atan((exp(log1p(t_1)) + -1.0)) / ((double) M_PI));
	}
	return tmp;
}
public static double code(double A, double B, double C) {
	double t_0 = (1.0 / B) * ((C - A) - Math.sqrt((Math.pow((A - C), 2.0) + Math.pow(B, 2.0))));
	double t_1 = ((C - A) - Math.hypot((A - C), B)) / B;
	double tmp;
	if (t_0 <= -0.02) {
		tmp = (180.0 * Math.atan(t_1)) / Math.PI;
	} else if (t_0 <= 0.0) {
		tmp = (180.0 * Math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / Math.PI;
	} else {
		tmp = 180.0 * (Math.atan((Math.exp(Math.log1p(t_1)) + -1.0)) / Math.PI);
	}
	return tmp;
}
def code(A, B, C):
	t_0 = (1.0 / B) * ((C - A) - math.sqrt((math.pow((A - C), 2.0) + math.pow(B, 2.0))))
	t_1 = ((C - A) - math.hypot((A - C), B)) / B
	tmp = 0
	if t_0 <= -0.02:
		tmp = (180.0 * math.atan(t_1)) / math.pi
	elif t_0 <= 0.0:
		tmp = (180.0 * math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / math.pi
	else:
		tmp = 180.0 * (math.atan((math.exp(math.log1p(t_1)) + -1.0)) / math.pi)
	return tmp
function code(A, B, C)
	t_0 = Float64(Float64(1.0 / B) * Float64(Float64(C - A) - sqrt(Float64((Float64(A - C) ^ 2.0) + (B ^ 2.0)))))
	t_1 = Float64(Float64(Float64(C - A) - hypot(Float64(A - C), B)) / B)
	tmp = 0.0
	if (t_0 <= -0.02)
		tmp = Float64(Float64(180.0 * atan(t_1)) / pi);
	elseif (t_0 <= 0.0)
		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(Float64(-2.0 * Float64(C / B)) + Float64(2.0 * Float64(A / B)))))) / pi);
	else
		tmp = Float64(180.0 * Float64(atan(Float64(exp(log1p(t_1)) + -1.0)) / pi));
	end
	return tmp
end
code[A_, B_, C_] := Block[{t$95$0 = N[(N[(1.0 / B), $MachinePrecision] * N[(N[(C - A), $MachinePrecision] - N[Sqrt[N[(N[Power[N[(A - C), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[B, 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(N[(C - A), $MachinePrecision] - N[Sqrt[N[(A - C), $MachinePrecision] ^ 2 + B ^ 2], $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]}, If[LessEqual[t$95$0, -0.02], N[(N[(180.0 * N[ArcTan[t$95$1], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[t$95$0, 0.0], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(N[(-2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[Exp[N[Log[1 + t$95$1], $MachinePrecision]], $MachinePrecision] + -1.0), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\\
t_1 := \frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\\
\mathbf{if}\;t_0 \leq -0.02:\\
\;\;\;\;\frac{180 \cdot \tan^{-1} t_1}{\pi}\\

\mathbf{elif}\;t_0 \leq 0:\\
\;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\

\mathbf{else}:\\
\;\;\;\;180 \cdot \frac{\tan^{-1} \left(e^{\mathsf{log1p}\left(t_1\right)} + -1\right)}{\pi}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))) < -0.0200000000000000004

    1. Initial program 58.2%

      \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
    2. Step-by-step derivation
      1. associate-*r/58.2%

        \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
      2. associate-*l/58.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
      3. *-un-lft-identity58.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
      4. unpow258.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
      5. unpow258.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
      6. hypot-def86.7%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
    3. Applied egg-rr86.7%

      \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]

    if -0.0200000000000000004 < (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))) < 0.0

    1. Initial program 26.2%

      \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
    2. Step-by-step derivation
      1. associate-*r/26.2%

        \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
      2. associate-*l/26.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
      3. *-un-lft-identity26.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
      4. unpow226.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
      5. unpow226.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
      6. hypot-def26.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
    3. Applied egg-rr26.2%

      \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
    4. Step-by-step derivation
      1. clear-num26.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
      2. inv-pow26.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
    5. Applied egg-rr26.2%

      \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
    6. Step-by-step derivation
      1. unpow-126.2%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
      2. associate--r+14.9%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
    7. Simplified14.9%

      \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
    8. Taylor expanded in A around -inf 99.3%

      \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\color{blue}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}}\right)}{\pi} \]

    if 0.0 < (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))

    1. Initial program 57.6%

      \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
    2. Step-by-step derivation
      1. *-commutative57.6%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right) \cdot \frac{1}{B}\right)}}{\pi} \]
      2. +-commutative57.6%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\left(\left(C - A\right) - \sqrt{\color{blue}{{B}^{2} + {\left(A - C\right)}^{2}}}\right) \cdot \frac{1}{B}\right)}{\pi} \]
      3. unpow257.6%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\left(\left(C - A\right) - \sqrt{\color{blue}{B \cdot B} + {\left(A - C\right)}^{2}}\right) \cdot \frac{1}{B}\right)}{\pi} \]
      4. unpow257.6%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\left(\left(C - A\right) - \sqrt{B \cdot B + \color{blue}{\left(A - C\right) \cdot \left(A - C\right)}}\right) \cdot \frac{1}{B}\right)}{\pi} \]
      5. hypot-udef90.0%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\left(\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(B, A - C\right)}\right) \cdot \frac{1}{B}\right)}{\pi} \]
      6. associate--r+87.9%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\color{blue}{\left(C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)\right)} \cdot \frac{1}{B}\right)}{\pi} \]
      7. div-inv87.9%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}}{\pi} \]
      8. expm1-log1p-u87.9%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)\right)\right)}}{\pi} \]
      9. expm1-udef89.1%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(e^{\mathsf{log1p}\left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)} - 1\right)}}{\pi} \]
    3. Applied egg-rr90.0%

      \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(e^{\mathsf{log1p}\left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)} - 1\right)}}{\pi} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification89.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right) \leq -0.02:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}\\ \mathbf{elif}\;\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right) \leq 0:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(e^{\mathsf{log1p}\left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)} + -1\right)}{\pi}\\ \end{array} \]

Alternative 2: 81.7% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -5.5 \cdot 10^{+46}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}\\ \end{array} \end{array} \]
(FPCore (A B C)
 :precision binary64
 (if (<= A -5.5e+46)
   (/ (* 180.0 (atan (/ 1.0 (+ (* -2.0 (/ C B)) (* 2.0 (/ A B)))))) PI)
   (* 180.0 (/ (atan (/ (- C (+ A (hypot B (- A C)))) B)) PI))))
double code(double A, double B, double C) {
	double tmp;
	if (A <= -5.5e+46) {
		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / ((double) M_PI);
	} else {
		tmp = 180.0 * (atan(((C - (A + hypot(B, (A - C)))) / B)) / ((double) M_PI));
	}
	return tmp;
}
public static double code(double A, double B, double C) {
	double tmp;
	if (A <= -5.5e+46) {
		tmp = (180.0 * Math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / Math.PI;
	} else {
		tmp = 180.0 * (Math.atan(((C - (A + Math.hypot(B, (A - C)))) / B)) / Math.PI);
	}
	return tmp;
}
def code(A, B, C):
	tmp = 0
	if A <= -5.5e+46:
		tmp = (180.0 * math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / math.pi
	else:
		tmp = 180.0 * (math.atan(((C - (A + math.hypot(B, (A - C)))) / B)) / math.pi)
	return tmp
function code(A, B, C)
	tmp = 0.0
	if (A <= -5.5e+46)
		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(Float64(-2.0 * Float64(C / B)) + Float64(2.0 * Float64(A / B)))))) / pi);
	else
		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - Float64(A + hypot(B, Float64(A - C)))) / B)) / pi));
	end
	return tmp
end
function tmp_2 = code(A, B, C)
	tmp = 0.0;
	if (A <= -5.5e+46)
		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / pi;
	else
		tmp = 180.0 * (atan(((C - (A + hypot(B, (A - C)))) / B)) / pi);
	end
	tmp_2 = tmp;
end
code[A_, B_, C_] := If[LessEqual[A, -5.5e+46], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(N[(-2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[(A + N[Sqrt[B ^ 2 + N[(A - C), $MachinePrecision] ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;A \leq -5.5 \cdot 10^{+46}:\\
\;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\

\mathbf{else}:\\
\;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if A < -5.4999999999999998e46

    1. Initial program 17.4%

      \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
    2. Step-by-step derivation
      1. associate-*r/17.4%

        \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
      2. associate-*l/17.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
      3. *-un-lft-identity17.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
      4. unpow217.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
      5. unpow217.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
      6. hypot-def49.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
    3. Applied egg-rr49.4%

      \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
    4. Step-by-step derivation
      1. clear-num49.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
      2. inv-pow49.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
    5. Applied egg-rr49.4%

      \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
    6. Step-by-step derivation
      1. unpow-149.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
      2. associate--r+23.3%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
    7. Simplified23.3%

      \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
    8. Taylor expanded in A around -inf 76.3%

      \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\color{blue}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}}\right)}{\pi} \]

    if -5.4999999999999998e46 < A

    1. Initial program 62.5%

      \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
    2. Step-by-step derivation
      1. Simplified88.6%

        \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}} \]
    3. Recombined 2 regimes into one program.
    4. Final simplification86.4%

      \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -5.5 \cdot 10^{+46}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}\\ \end{array} \]

    Alternative 3: 81.8% accurate, 1.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -2.2 \cdot 10^{+45}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}\\ \end{array} \end{array} \]
    (FPCore (A B C)
     :precision binary64
     (if (<= A -2.2e+45)
       (/ (* 180.0 (atan (/ 1.0 (+ (* -2.0 (/ C B)) (* 2.0 (/ A B)))))) PI)
       (/ (* 180.0 (atan (/ (- (- C A) (hypot (- A C) B)) B))) PI)))
    double code(double A, double B, double C) {
    	double tmp;
    	if (A <= -2.2e+45) {
    		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / ((double) M_PI);
    	} else {
    		tmp = (180.0 * atan((((C - A) - hypot((A - C), B)) / B))) / ((double) M_PI);
    	}
    	return tmp;
    }
    
    public static double code(double A, double B, double C) {
    	double tmp;
    	if (A <= -2.2e+45) {
    		tmp = (180.0 * Math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / Math.PI;
    	} else {
    		tmp = (180.0 * Math.atan((((C - A) - Math.hypot((A - C), B)) / B))) / Math.PI;
    	}
    	return tmp;
    }
    
    def code(A, B, C):
    	tmp = 0
    	if A <= -2.2e+45:
    		tmp = (180.0 * math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / math.pi
    	else:
    		tmp = (180.0 * math.atan((((C - A) - math.hypot((A - C), B)) / B))) / math.pi
    	return tmp
    
    function code(A, B, C)
    	tmp = 0.0
    	if (A <= -2.2e+45)
    		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(Float64(-2.0 * Float64(C / B)) + Float64(2.0 * Float64(A / B)))))) / pi);
    	else
    		tmp = Float64(Float64(180.0 * atan(Float64(Float64(Float64(C - A) - hypot(Float64(A - C), B)) / B))) / pi);
    	end
    	return tmp
    end
    
    function tmp_2 = code(A, B, C)
    	tmp = 0.0;
    	if (A <= -2.2e+45)
    		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / pi;
    	else
    		tmp = (180.0 * atan((((C - A) - hypot((A - C), B)) / B))) / pi;
    	end
    	tmp_2 = tmp;
    end
    
    code[A_, B_, C_] := If[LessEqual[A, -2.2e+45], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(N[(-2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(N[(180.0 * N[ArcTan[N[(N[(N[(C - A), $MachinePrecision] - N[Sqrt[N[(A - C), $MachinePrecision] ^ 2 + B ^ 2], $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;A \leq -2.2 \cdot 10^{+45}:\\
    \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if A < -2.2e45

      1. Initial program 17.4%

        \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
      2. Step-by-step derivation
        1. associate-*r/17.4%

          \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
        2. associate-*l/17.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
        3. *-un-lft-identity17.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
        4. unpow217.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
        5. unpow217.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
        6. hypot-def49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
      3. Applied egg-rr49.4%

        \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
      4. Step-by-step derivation
        1. clear-num49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
        2. inv-pow49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
      5. Applied egg-rr49.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
      6. Step-by-step derivation
        1. unpow-149.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
        2. associate--r+23.3%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
      7. Simplified23.3%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
      8. Taylor expanded in A around -inf 76.3%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\color{blue}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}}\right)}{\pi} \]

      if -2.2e45 < A

      1. Initial program 62.5%

        \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
      2. Step-by-step derivation
        1. associate-*r/62.5%

          \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
        2. associate-*l/62.5%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
        3. *-un-lft-identity62.5%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
        4. unpow262.5%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
        5. unpow262.5%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
        6. hypot-def88.6%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
      3. Applied egg-rr88.6%

        \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
    3. Recombined 2 regimes into one program.
    4. Final simplification86.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -2.2 \cdot 10^{+45}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}\\ \end{array} \]

    Alternative 4: 76.6% accurate, 1.7× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -2.02 \cdot 10^{+40}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{elif}\;A \leq 6.8 \cdot 10^{+99}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \end{array} \]
    (FPCore (A B C)
     :precision binary64
     (if (<= A -2.02e+40)
       (/ (* 180.0 (atan (/ 1.0 (+ (* -2.0 (/ C B)) (* 2.0 (/ A B)))))) PI)
       (if (<= A 6.8e+99)
         (* 180.0 (/ (atan (/ (- C (hypot B C)) B)) PI))
         (* 180.0 (/ (atan (/ (- C (+ B A)) B)) PI)))))
    double code(double A, double B, double C) {
    	double tmp;
    	if (A <= -2.02e+40) {
    		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / ((double) M_PI);
    	} else if (A <= 6.8e+99) {
    		tmp = 180.0 * (atan(((C - hypot(B, C)) / B)) / ((double) M_PI));
    	} else {
    		tmp = 180.0 * (atan(((C - (B + A)) / B)) / ((double) M_PI));
    	}
    	return tmp;
    }
    
    public static double code(double A, double B, double C) {
    	double tmp;
    	if (A <= -2.02e+40) {
    		tmp = (180.0 * Math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / Math.PI;
    	} else if (A <= 6.8e+99) {
    		tmp = 180.0 * (Math.atan(((C - Math.hypot(B, C)) / B)) / Math.PI);
    	} else {
    		tmp = 180.0 * (Math.atan(((C - (B + A)) / B)) / Math.PI);
    	}
    	return tmp;
    }
    
    def code(A, B, C):
    	tmp = 0
    	if A <= -2.02e+40:
    		tmp = (180.0 * math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / math.pi
    	elif A <= 6.8e+99:
    		tmp = 180.0 * (math.atan(((C - math.hypot(B, C)) / B)) / math.pi)
    	else:
    		tmp = 180.0 * (math.atan(((C - (B + A)) / B)) / math.pi)
    	return tmp
    
    function code(A, B, C)
    	tmp = 0.0
    	if (A <= -2.02e+40)
    		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(Float64(-2.0 * Float64(C / B)) + Float64(2.0 * Float64(A / B)))))) / pi);
    	elseif (A <= 6.8e+99)
    		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - hypot(B, C)) / B)) / pi));
    	else
    		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - Float64(B + A)) / B)) / pi));
    	end
    	return tmp
    end
    
    function tmp_2 = code(A, B, C)
    	tmp = 0.0;
    	if (A <= -2.02e+40)
    		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / pi;
    	elseif (A <= 6.8e+99)
    		tmp = 180.0 * (atan(((C - hypot(B, C)) / B)) / pi);
    	else
    		tmp = 180.0 * (atan(((C - (B + A)) / B)) / pi);
    	end
    	tmp_2 = tmp;
    end
    
    code[A_, B_, C_] := If[LessEqual[A, -2.02e+40], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(N[(-2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[A, 6.8e+99], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[Sqrt[B ^ 2 + C ^ 2], $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[(B + A), $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;A \leq -2.02 \cdot 10^{+40}:\\
    \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\
    
    \mathbf{elif}\;A \leq 6.8 \cdot 10^{+99}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\
    
    \mathbf{else}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if A < -2.0200000000000001e40

      1. Initial program 17.4%

        \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
      2. Step-by-step derivation
        1. associate-*r/17.4%

          \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
        2. associate-*l/17.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
        3. *-un-lft-identity17.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
        4. unpow217.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
        5. unpow217.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
        6. hypot-def49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
      3. Applied egg-rr49.4%

        \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
      4. Step-by-step derivation
        1. clear-num49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
        2. inv-pow49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
      5. Applied egg-rr49.4%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
      6. Step-by-step derivation
        1. unpow-149.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
        2. associate--r+23.3%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
      7. Simplified23.3%

        \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
      8. Taylor expanded in A around -inf 76.3%

        \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\color{blue}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}}\right)}{\pi} \]

      if -2.0200000000000001e40 < A < 6.79999999999999968e99

      1. Initial program 54.4%

        \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
      2. Taylor expanded in A around 0 52.0%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{C - \sqrt{{B}^{2} + {C}^{2}}}{B}\right)}}{\pi} \]
      3. Step-by-step derivation
        1. unpow252.0%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \sqrt{\color{blue}{B \cdot B} + {C}^{2}}}{B}\right)}{\pi} \]
        2. unpow252.0%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \sqrt{B \cdot B + \color{blue}{C \cdot C}}}{B}\right)}{\pi} \]
        3. hypot-def82.4%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
      4. Simplified82.4%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}}{\pi} \]

      if 6.79999999999999968e99 < A

      1. Initial program 89.2%

        \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
      2. Step-by-step derivation
        1. Simplified100.0%

          \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}} \]
        2. Taylor expanded in B around inf 93.9%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(A + B\right)}}{B}\right)}{\pi} \]
        3. Step-by-step derivation
          1. +-commutative93.9%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
        4. Simplified93.9%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
      3. Recombined 3 regimes into one program.
      4. Final simplification83.5%

        \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -2.02 \cdot 10^{+40}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{elif}\;A \leq 6.8 \cdot 10^{+99}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \]

      Alternative 5: 78.6% accurate, 1.7× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;C \leq -0.0025:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 1.75 \cdot 10^{+117}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right)}{\pi}\\ \end{array} \end{array} \]
      (FPCore (A B C)
       :precision binary64
       (if (<= C -0.0025)
         (* 180.0 (/ (atan (/ (- C (hypot B C)) B)) PI))
         (if (<= C 1.75e+117)
           (/ (* -180.0 (atan (/ (+ A (hypot A B)) B))) PI)
           (/ (* 180.0 (atan (* -0.5 (/ B C)))) PI))))
      double code(double A, double B, double C) {
      	double tmp;
      	if (C <= -0.0025) {
      		tmp = 180.0 * (atan(((C - hypot(B, C)) / B)) / ((double) M_PI));
      	} else if (C <= 1.75e+117) {
      		tmp = (-180.0 * atan(((A + hypot(A, B)) / B))) / ((double) M_PI);
      	} else {
      		tmp = (180.0 * atan((-0.5 * (B / C)))) / ((double) M_PI);
      	}
      	return tmp;
      }
      
      public static double code(double A, double B, double C) {
      	double tmp;
      	if (C <= -0.0025) {
      		tmp = 180.0 * (Math.atan(((C - Math.hypot(B, C)) / B)) / Math.PI);
      	} else if (C <= 1.75e+117) {
      		tmp = (-180.0 * Math.atan(((A + Math.hypot(A, B)) / B))) / Math.PI;
      	} else {
      		tmp = (180.0 * Math.atan((-0.5 * (B / C)))) / Math.PI;
      	}
      	return tmp;
      }
      
      def code(A, B, C):
      	tmp = 0
      	if C <= -0.0025:
      		tmp = 180.0 * (math.atan(((C - math.hypot(B, C)) / B)) / math.pi)
      	elif C <= 1.75e+117:
      		tmp = (-180.0 * math.atan(((A + math.hypot(A, B)) / B))) / math.pi
      	else:
      		tmp = (180.0 * math.atan((-0.5 * (B / C)))) / math.pi
      	return tmp
      
      function code(A, B, C)
      	tmp = 0.0
      	if (C <= -0.0025)
      		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - hypot(B, C)) / B)) / pi));
      	elseif (C <= 1.75e+117)
      		tmp = Float64(Float64(-180.0 * atan(Float64(Float64(A + hypot(A, B)) / B))) / pi);
      	else
      		tmp = Float64(Float64(180.0 * atan(Float64(-0.5 * Float64(B / C)))) / pi);
      	end
      	return tmp
      end
      
      function tmp_2 = code(A, B, C)
      	tmp = 0.0;
      	if (C <= -0.0025)
      		tmp = 180.0 * (atan(((C - hypot(B, C)) / B)) / pi);
      	elseif (C <= 1.75e+117)
      		tmp = (-180.0 * atan(((A + hypot(A, B)) / B))) / pi;
      	else
      		tmp = (180.0 * atan((-0.5 * (B / C)))) / pi;
      	end
      	tmp_2 = tmp;
      end
      
      code[A_, B_, C_] := If[LessEqual[C, -0.0025], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[Sqrt[B ^ 2 + C ^ 2], $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[C, 1.75e+117], N[(N[(-180.0 * N[ArcTan[N[(N[(A + N[Sqrt[A ^ 2 + B ^ 2], $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(N[(180.0 * N[ArcTan[N[(-0.5 * N[(B / C), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;C \leq -0.0025:\\
      \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\
      
      \mathbf{elif}\;C \leq 1.75 \cdot 10^{+117}:\\
      \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{180 \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right)}{\pi}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if C < -0.00250000000000000005

        1. Initial program 74.2%

          \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
        2. Taylor expanded in A around 0 73.8%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{C - \sqrt{{B}^{2} + {C}^{2}}}{B}\right)}}{\pi} \]
        3. Step-by-step derivation
          1. unpow273.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \sqrt{\color{blue}{B \cdot B} + {C}^{2}}}{B}\right)}{\pi} \]
          2. unpow273.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \sqrt{B \cdot B + \color{blue}{C \cdot C}}}{B}\right)}{\pi} \]
          3. hypot-def87.0%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
        4. Simplified87.0%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}}{\pi} \]

        if -0.00250000000000000005 < C < 1.74999999999999991e117

        1. Initial program 54.6%

          \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
        2. Taylor expanded in C around 0 53.5%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
        3. Step-by-step derivation
          1. associate-*r/53.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
          2. mul-1-neg53.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
          3. +-commutative53.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
          4. unpow253.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
          5. unpow253.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
          6. hypot-def83.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
        4. Simplified83.8%

          \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
        5. Step-by-step derivation
          1. expm1-log1p-u43.1%

            \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)\right)} \]
          2. expm1-udef43.1%

            \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)} - 1} \]
        6. Applied egg-rr43.1%

          \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)} - 1} \]
        7. Step-by-step derivation
          1. expm1-def43.1%

            \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)\right)} \]
          2. expm1-log1p83.8%

            \[\leadsto \color{blue}{180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
          3. associate-*r/83.8%

            \[\leadsto \color{blue}{\frac{180 \cdot \left(-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)\right)}{\pi}} \]
          4. distribute-rgt-neg-out83.8%

            \[\leadsto \frac{\color{blue}{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
          5. distribute-lft-neg-in83.8%

            \[\leadsto \frac{\color{blue}{\left(-180\right) \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
          6. metadata-eval83.8%

            \[\leadsto \frac{\color{blue}{-180} \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi} \]
        8. Simplified83.8%

          \[\leadsto \color{blue}{\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]

        if 1.74999999999999991e117 < C

        1. Initial program 22.0%

          \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
        2. Step-by-step derivation
          1. associate-*r/22.0%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
          2. associate-*l/22.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
          3. *-un-lft-identity22.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
          4. unpow222.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
          5. unpow222.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
          6. hypot-def53.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
        3. Applied egg-rr53.7%

          \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
        4. Taylor expanded in C around inf 44.7%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B} + -0.5 \cdot \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{B \cdot C}\right)}}{\pi} \]
        5. Step-by-step derivation
          1. +-commutative44.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{B \cdot C} + -1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          2. fma-def44.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\mathsf{fma}\left(-0.5, \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{B \cdot C}, -1 \cdot \frac{A + -1 \cdot A}{B}\right)\right)}}{\pi} \]
        6. Simplified61.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\mathsf{fma}\left(-0.5, \frac{{B}^{2} + 0}{B \cdot C}, 0\right)\right)}}{\pi} \]
        7. Taylor expanded in B around 0 80.1%

          \[\leadsto \frac{\color{blue}{180 \cdot \tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{B}{C}, 0\right)\right)}}{\pi} \]
        8. Step-by-step derivation
          1. fma-udef80.1%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{B}{C} + 0\right)}}{\pi} \]
          2. +-rgt-identity80.1%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{B}{C}\right)}}{\pi} \]
        9. Simplified80.1%

          \[\leadsto \frac{\color{blue}{180 \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right)}}{\pi} \]
      3. Recombined 3 regimes into one program.
      4. Final simplification84.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -0.0025:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 1.75 \cdot 10^{+117}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right)}{\pi}\\ \end{array} \]

      Alternative 6: 62.0% accurate, 2.4× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -8.8 \cdot 10^{+38}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{elif}\;A \leq 5 \cdot 10^{-182}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{B + C}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \end{array} \]
      (FPCore (A B C)
       :precision binary64
       (if (<= A -8.8e+38)
         (/ (* 180.0 (atan (/ 1.0 (+ (* -2.0 (/ C B)) (* 2.0 (/ A B)))))) PI)
         (if (<= A 5e-182)
           (/ (* 180.0 (atan (/ 1.0 (/ B (+ B C))))) PI)
           (* 180.0 (/ (atan (/ (- C (+ B A)) B)) PI)))))
      double code(double A, double B, double C) {
      	double tmp;
      	if (A <= -8.8e+38) {
      		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / ((double) M_PI);
      	} else if (A <= 5e-182) {
      		tmp = (180.0 * atan((1.0 / (B / (B + C))))) / ((double) M_PI);
      	} else {
      		tmp = 180.0 * (atan(((C - (B + A)) / B)) / ((double) M_PI));
      	}
      	return tmp;
      }
      
      public static double code(double A, double B, double C) {
      	double tmp;
      	if (A <= -8.8e+38) {
      		tmp = (180.0 * Math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / Math.PI;
      	} else if (A <= 5e-182) {
      		tmp = (180.0 * Math.atan((1.0 / (B / (B + C))))) / Math.PI;
      	} else {
      		tmp = 180.0 * (Math.atan(((C - (B + A)) / B)) / Math.PI);
      	}
      	return tmp;
      }
      
      def code(A, B, C):
      	tmp = 0
      	if A <= -8.8e+38:
      		tmp = (180.0 * math.atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / math.pi
      	elif A <= 5e-182:
      		tmp = (180.0 * math.atan((1.0 / (B / (B + C))))) / math.pi
      	else:
      		tmp = 180.0 * (math.atan(((C - (B + A)) / B)) / math.pi)
      	return tmp
      
      function code(A, B, C)
      	tmp = 0.0
      	if (A <= -8.8e+38)
      		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(Float64(-2.0 * Float64(C / B)) + Float64(2.0 * Float64(A / B)))))) / pi);
      	elseif (A <= 5e-182)
      		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(B / Float64(B + C))))) / pi);
      	else
      		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - Float64(B + A)) / B)) / pi));
      	end
      	return tmp
      end
      
      function tmp_2 = code(A, B, C)
      	tmp = 0.0;
      	if (A <= -8.8e+38)
      		tmp = (180.0 * atan((1.0 / ((-2.0 * (C / B)) + (2.0 * (A / B)))))) / pi;
      	elseif (A <= 5e-182)
      		tmp = (180.0 * atan((1.0 / (B / (B + C))))) / pi;
      	else
      		tmp = 180.0 * (atan(((C - (B + A)) / B)) / pi);
      	end
      	tmp_2 = tmp;
      end
      
      code[A_, B_, C_] := If[LessEqual[A, -8.8e+38], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(N[(-2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[A, 5e-182], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(B / N[(B + C), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[(B + A), $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;A \leq -8.8 \cdot 10^{+38}:\\
      \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\
      
      \mathbf{elif}\;A \leq 5 \cdot 10^{-182}:\\
      \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{B + C}}\right)}{\pi}\\
      
      \mathbf{else}:\\
      \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if A < -8.80000000000000026e38

        1. Initial program 17.4%

          \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
        2. Step-by-step derivation
          1. associate-*r/17.4%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
          2. associate-*l/17.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
          3. *-un-lft-identity17.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
          4. unpow217.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
          5. unpow217.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
          6. hypot-def49.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
        3. Applied egg-rr49.4%

          \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
        4. Step-by-step derivation
          1. clear-num49.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
          2. inv-pow49.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
        5. Applied egg-rr49.4%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
        6. Step-by-step derivation
          1. unpow-149.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
          2. associate--r+23.3%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
        7. Simplified23.3%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
        8. Taylor expanded in A around -inf 76.3%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\color{blue}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}}\right)}{\pi} \]

        if -8.80000000000000026e38 < A < 5.00000000000000024e-182

        1. Initial program 51.2%

          \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
        2. Step-by-step derivation
          1. associate-*r/51.2%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
          2. associate-*l/51.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
          3. *-un-lft-identity51.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
          4. unpow251.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
          5. unpow251.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
          6. hypot-def85.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
        3. Applied egg-rr85.7%

          \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
        4. Step-by-step derivation
          1. clear-num85.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
          2. inv-pow85.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
        5. Applied egg-rr85.7%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
        6. Step-by-step derivation
          1. unpow-185.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
          2. associate--r+85.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
        7. Simplified85.7%

          \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
        8. Taylor expanded in B around -inf 60.0%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{C - \color{blue}{-1 \cdot B}}}\right)}{\pi} \]
        9. Step-by-step derivation
          1. mul-1-neg60.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{C - \color{blue}{\left(-B\right)}}}\right)}{\pi} \]
        10. Simplified60.0%

          \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{C - \color{blue}{\left(-B\right)}}}\right)}{\pi} \]

        if 5.00000000000000024e-182 < A

        1. Initial program 74.3%

          \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
        2. Step-by-step derivation
          1. Simplified91.7%

            \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}} \]
          2. Taylor expanded in B around inf 75.2%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(A + B\right)}}{B}\right)}{\pi} \]
          3. Step-by-step derivation
            1. +-commutative75.2%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
          4. Simplified75.2%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
        3. Recombined 3 regimes into one program.
        4. Final simplification69.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -8.8 \cdot 10^{+38}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{-2 \cdot \frac{C}{B} + 2 \cdot \frac{A}{B}}\right)}{\pi}\\ \mathbf{elif}\;A \leq 5 \cdot 10^{-182}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{B + C}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \]

        Alternative 7: 46.8% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{if}\;B \leq -9.1 \cdot 10^{-38}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq -5 \cdot 10^{-106}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;B \leq 6.5 \cdot 10^{-242}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 5.7 \cdot 10^{-166}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.9 \cdot 10^{-98}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (let* ((t_0 (/ (* 180.0 (atan (/ (- A) B))) PI)))
           (if (<= B -9.1e-38)
             (* 180.0 (/ (atan 1.0) PI))
             (if (<= B -5e-106)
               t_0
               (if (<= B 6.5e-242)
                 (/ (* 180.0 (atan (/ C B))) PI)
                 (if (<= B 5.7e-166)
                   (* 180.0 (/ (atan (/ 0.0 B)) PI))
                   (if (<= B 2.9e-98) t_0 (* 180.0 (/ (atan -1.0) PI)))))))))
        double code(double A, double B, double C) {
        	double t_0 = (180.0 * atan((-A / B))) / ((double) M_PI);
        	double tmp;
        	if (B <= -9.1e-38) {
        		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
        	} else if (B <= -5e-106) {
        		tmp = t_0;
        	} else if (B <= 6.5e-242) {
        		tmp = (180.0 * atan((C / B))) / ((double) M_PI);
        	} else if (B <= 5.7e-166) {
        		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
        	} else if (B <= 2.9e-98) {
        		tmp = t_0;
        	} else {
        		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double t_0 = (180.0 * Math.atan((-A / B))) / Math.PI;
        	double tmp;
        	if (B <= -9.1e-38) {
        		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
        	} else if (B <= -5e-106) {
        		tmp = t_0;
        	} else if (B <= 6.5e-242) {
        		tmp = (180.0 * Math.atan((C / B))) / Math.PI;
        	} else if (B <= 5.7e-166) {
        		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
        	} else if (B <= 2.9e-98) {
        		tmp = t_0;
        	} else {
        		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	t_0 = (180.0 * math.atan((-A / B))) / math.pi
        	tmp = 0
        	if B <= -9.1e-38:
        		tmp = 180.0 * (math.atan(1.0) / math.pi)
        	elif B <= -5e-106:
        		tmp = t_0
        	elif B <= 6.5e-242:
        		tmp = (180.0 * math.atan((C / B))) / math.pi
        	elif B <= 5.7e-166:
        		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
        	elif B <= 2.9e-98:
        		tmp = t_0
        	else:
        		tmp = 180.0 * (math.atan(-1.0) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	t_0 = Float64(Float64(180.0 * atan(Float64(Float64(-A) / B))) / pi)
        	tmp = 0.0
        	if (B <= -9.1e-38)
        		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
        	elseif (B <= -5e-106)
        		tmp = t_0;
        	elseif (B <= 6.5e-242)
        		tmp = Float64(Float64(180.0 * atan(Float64(C / B))) / pi);
        	elseif (B <= 5.7e-166)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
        	elseif (B <= 2.9e-98)
        		tmp = t_0;
        	else
        		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	t_0 = (180.0 * atan((-A / B))) / pi;
        	tmp = 0.0;
        	if (B <= -9.1e-38)
        		tmp = 180.0 * (atan(1.0) / pi);
        	elseif (B <= -5e-106)
        		tmp = t_0;
        	elseif (B <= 6.5e-242)
        		tmp = (180.0 * atan((C / B))) / pi;
        	elseif (B <= 5.7e-166)
        		tmp = 180.0 * (atan((0.0 / B)) / pi);
        	elseif (B <= 2.9e-98)
        		tmp = t_0;
        	else
        		tmp = 180.0 * (atan(-1.0) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := Block[{t$95$0 = N[(N[(180.0 * N[ArcTan[N[((-A) / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]}, If[LessEqual[B, -9.1e-38], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, -5e-106], t$95$0, If[LessEqual[B, 6.5e-242], N[(N[(180.0 * N[ArcTan[N[(C / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[B, 5.7e-166], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 2.9e-98], t$95$0, N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\
        \mathbf{if}\;B \leq -9.1 \cdot 10^{-38}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
        
        \mathbf{elif}\;B \leq -5 \cdot 10^{-106}:\\
        \;\;\;\;t_0\\
        
        \mathbf{elif}\;B \leq 6.5 \cdot 10^{-242}:\\
        \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 5.7 \cdot 10^{-166}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 2.9 \cdot 10^{-98}:\\
        \;\;\;\;t_0\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 5 regimes
        2. if B < -9.10000000000000012e-38

          1. Initial program 44.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around -inf 63.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

          if -9.10000000000000012e-38 < B < -4.99999999999999983e-106 or 5.7e-166 < B < 2.9e-98

          1. Initial program 67.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/67.0%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/67.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity67.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow267.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow267.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def78.3%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr78.3%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 55.5%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg55.5%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg55.5%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified55.5%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in A around inf 48.6%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-1 \cdot \frac{A}{B}\right)}}{\pi} \]
          8. Step-by-step derivation
            1. associate-*r/48.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{-1 \cdot A}{B}\right)}}{\pi} \]
            2. neg-mul-148.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{-A}}{B}\right)}{\pi} \]
          9. Simplified48.6%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{-A}{B}\right)}}{\pi} \]

          if -4.99999999999999983e-106 < B < 6.4999999999999998e-242

          1. Initial program 78.8%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/78.8%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/78.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity78.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow278.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow278.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def92.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr92.1%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 62.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg62.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg62.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified62.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in C around inf 54.1%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{C}{B}\right)}}{\pi} \]

          if 6.4999999999999998e-242 < B < 5.7e-166

          1. Initial program 36.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around inf 51.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
            2. distribute-rgt1-in51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
            3. metadata-eval51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
            4. mul0-lft51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
            5. metadata-eval51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
          4. Simplified51.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

          if 2.9e-98 < B

          1. Initial program 50.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around inf 52.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
        3. Recombined 5 regimes into one program.
        4. Final simplification55.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -9.1 \cdot 10^{-38}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq -5 \cdot 10^{-106}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 6.5 \cdot 10^{-242}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 5.7 \cdot 10^{-166}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.9 \cdot 10^{-98}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]

        Alternative 8: 46.8% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -2.75 \cdot 10^{-31}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq -2.8 \cdot 10^{-106}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4 \cdot 10^{-241}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.32 \cdot 10^{-166}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 3.7 \cdot 10^{-97}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= B -2.75e-31)
           (* 180.0 (/ (atan 1.0) PI))
           (if (<= B -2.8e-106)
             (* 180.0 (/ (atan (* -2.0 (/ A B))) PI))
             (if (<= B 4e-241)
               (/ (* 180.0 (atan (/ C B))) PI)
               (if (<= B 1.32e-166)
                 (* 180.0 (/ (atan (/ 0.0 B)) PI))
                 (if (<= B 3.7e-97)
                   (/ (* 180.0 (atan (/ (- A) B))) PI)
                   (* 180.0 (/ (atan -1.0) PI))))))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -2.75e-31) {
        		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
        	} else if (B <= -2.8e-106) {
        		tmp = 180.0 * (atan((-2.0 * (A / B))) / ((double) M_PI));
        	} else if (B <= 4e-241) {
        		tmp = (180.0 * atan((C / B))) / ((double) M_PI);
        	} else if (B <= 1.32e-166) {
        		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
        	} else if (B <= 3.7e-97) {
        		tmp = (180.0 * atan((-A / B))) / ((double) M_PI);
        	} else {
        		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -2.75e-31) {
        		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
        	} else if (B <= -2.8e-106) {
        		tmp = 180.0 * (Math.atan((-2.0 * (A / B))) / Math.PI);
        	} else if (B <= 4e-241) {
        		tmp = (180.0 * Math.atan((C / B))) / Math.PI;
        	} else if (B <= 1.32e-166) {
        		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
        	} else if (B <= 3.7e-97) {
        		tmp = (180.0 * Math.atan((-A / B))) / Math.PI;
        	} else {
        		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if B <= -2.75e-31:
        		tmp = 180.0 * (math.atan(1.0) / math.pi)
        	elif B <= -2.8e-106:
        		tmp = 180.0 * (math.atan((-2.0 * (A / B))) / math.pi)
        	elif B <= 4e-241:
        		tmp = (180.0 * math.atan((C / B))) / math.pi
        	elif B <= 1.32e-166:
        		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
        	elif B <= 3.7e-97:
        		tmp = (180.0 * math.atan((-A / B))) / math.pi
        	else:
        		tmp = 180.0 * (math.atan(-1.0) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (B <= -2.75e-31)
        		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
        	elseif (B <= -2.8e-106)
        		tmp = Float64(180.0 * Float64(atan(Float64(-2.0 * Float64(A / B))) / pi));
        	elseif (B <= 4e-241)
        		tmp = Float64(Float64(180.0 * atan(Float64(C / B))) / pi);
        	elseif (B <= 1.32e-166)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
        	elseif (B <= 3.7e-97)
        		tmp = Float64(Float64(180.0 * atan(Float64(Float64(-A) / B))) / pi);
        	else
        		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (B <= -2.75e-31)
        		tmp = 180.0 * (atan(1.0) / pi);
        	elseif (B <= -2.8e-106)
        		tmp = 180.0 * (atan((-2.0 * (A / B))) / pi);
        	elseif (B <= 4e-241)
        		tmp = (180.0 * atan((C / B))) / pi;
        	elseif (B <= 1.32e-166)
        		tmp = 180.0 * (atan((0.0 / B)) / pi);
        	elseif (B <= 3.7e-97)
        		tmp = (180.0 * atan((-A / B))) / pi;
        	else
        		tmp = 180.0 * (atan(-1.0) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[B, -2.75e-31], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, -2.8e-106], N[(180.0 * N[(N[ArcTan[N[(-2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 4e-241], N[(N[(180.0 * N[ArcTan[N[(C / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[B, 1.32e-166], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 3.7e-97], N[(N[(180.0 * N[ArcTan[N[((-A) / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;B \leq -2.75 \cdot 10^{-31}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
        
        \mathbf{elif}\;B \leq -2.8 \cdot 10^{-106}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 4 \cdot 10^{-241}:\\
        \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 1.32 \cdot 10^{-166}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 3.7 \cdot 10^{-97}:\\
        \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 6 regimes
        2. if B < -2.74999999999999979e-31

          1. Initial program 44.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around -inf 63.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

          if -2.74999999999999979e-31 < B < -2.79999999999999988e-106

          1. Initial program 72.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in A around inf 54.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-2 \cdot \frac{A}{B}\right)}}{\pi} \]

          if -2.79999999999999988e-106 < B < 3.9999999999999999e-241

          1. Initial program 78.8%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/78.8%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/78.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity78.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow278.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow278.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def92.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr92.1%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 62.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg62.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg62.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified62.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in C around inf 54.1%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{C}{B}\right)}}{\pi} \]

          if 3.9999999999999999e-241 < B < 1.31999999999999998e-166

          1. Initial program 36.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around inf 51.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
            2. distribute-rgt1-in51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
            3. metadata-eval51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
            4. mul0-lft51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
            5. metadata-eval51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
          4. Simplified51.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

          if 1.31999999999999998e-166 < B < 3.69999999999999976e-97

          1. Initial program 60.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/60.1%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/60.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity60.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow260.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow260.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def69.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr69.1%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 59.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg59.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg59.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified59.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in A around inf 43.3%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-1 \cdot \frac{A}{B}\right)}}{\pi} \]
          8. Step-by-step derivation
            1. associate-*r/43.3%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{-1 \cdot A}{B}\right)}}{\pi} \]
            2. neg-mul-143.3%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{-A}}{B}\right)}{\pi} \]
          9. Simplified43.3%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{-A}{B}\right)}}{\pi} \]

          if 3.69999999999999976e-97 < B

          1. Initial program 50.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around inf 52.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
        3. Recombined 6 regimes into one program.
        4. Final simplification55.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -2.75 \cdot 10^{-31}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq -2.8 \cdot 10^{-106}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4 \cdot 10^{-241}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.32 \cdot 10^{-166}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 3.7 \cdot 10^{-97}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]

        Alternative 9: 47.0% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -3.05 \cdot 10^{+40}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}\\ \mathbf{elif}\;A \leq -1.9 \cdot 10^{-39}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;A \leq -1.7 \cdot 10^{-70}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \mathbf{elif}\;A \leq 2.7 \cdot 10^{-132}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= A -3.05e+40)
           (* 180.0 (/ (atan (* 0.5 (/ B A))) PI))
           (if (<= A -1.9e-39)
             (/ (* 180.0 (atan (/ C B))) PI)
             (if (<= A -1.7e-70)
               (* 180.0 (/ (atan -1.0) PI))
               (if (<= A 2.7e-132)
                 (* 180.0 (/ (atan 1.0) PI))
                 (* 180.0 (/ (atan (* -2.0 (/ A B))) PI)))))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (A <= -3.05e+40) {
        		tmp = 180.0 * (atan((0.5 * (B / A))) / ((double) M_PI));
        	} else if (A <= -1.9e-39) {
        		tmp = (180.0 * atan((C / B))) / ((double) M_PI);
        	} else if (A <= -1.7e-70) {
        		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
        	} else if (A <= 2.7e-132) {
        		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
        	} else {
        		tmp = 180.0 * (atan((-2.0 * (A / B))) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (A <= -3.05e+40) {
        		tmp = 180.0 * (Math.atan((0.5 * (B / A))) / Math.PI);
        	} else if (A <= -1.9e-39) {
        		tmp = (180.0 * Math.atan((C / B))) / Math.PI;
        	} else if (A <= -1.7e-70) {
        		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
        	} else if (A <= 2.7e-132) {
        		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
        	} else {
        		tmp = 180.0 * (Math.atan((-2.0 * (A / B))) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if A <= -3.05e+40:
        		tmp = 180.0 * (math.atan((0.5 * (B / A))) / math.pi)
        	elif A <= -1.9e-39:
        		tmp = (180.0 * math.atan((C / B))) / math.pi
        	elif A <= -1.7e-70:
        		tmp = 180.0 * (math.atan(-1.0) / math.pi)
        	elif A <= 2.7e-132:
        		tmp = 180.0 * (math.atan(1.0) / math.pi)
        	else:
        		tmp = 180.0 * (math.atan((-2.0 * (A / B))) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (A <= -3.05e+40)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.5 * Float64(B / A))) / pi));
        	elseif (A <= -1.9e-39)
        		tmp = Float64(Float64(180.0 * atan(Float64(C / B))) / pi);
        	elseif (A <= -1.7e-70)
        		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
        	elseif (A <= 2.7e-132)
        		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
        	else
        		tmp = Float64(180.0 * Float64(atan(Float64(-2.0 * Float64(A / B))) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (A <= -3.05e+40)
        		tmp = 180.0 * (atan((0.5 * (B / A))) / pi);
        	elseif (A <= -1.9e-39)
        		tmp = (180.0 * atan((C / B))) / pi;
        	elseif (A <= -1.7e-70)
        		tmp = 180.0 * (atan(-1.0) / pi);
        	elseif (A <= 2.7e-132)
        		tmp = 180.0 * (atan(1.0) / pi);
        	else
        		tmp = 180.0 * (atan((-2.0 * (A / B))) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[A, -3.05e+40], N[(180.0 * N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, -1.9e-39], N[(N[(180.0 * N[ArcTan[N[(C / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[A, -1.7e-70], N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 2.7e-132], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(-2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;A \leq -3.05 \cdot 10^{+40}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}\\
        
        \mathbf{elif}\;A \leq -1.9 \cdot 10^{-39}:\\
        \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;A \leq -1.7 \cdot 10^{-70}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
        
        \mathbf{elif}\;A \leq 2.7 \cdot 10^{-132}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 5 regimes
        2. if A < -3.05e40

          1. Initial program 17.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in A around -inf 73.1%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]

          if -3.05e40 < A < -1.9000000000000001e-39

          1. Initial program 57.9%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/57.9%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/57.9%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity57.9%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow257.9%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow257.9%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def88.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr88.4%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 63.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg63.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg63.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified63.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in C around inf 45.5%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{C}{B}\right)}}{\pi} \]

          if -1.9000000000000001e-39 < A < -1.69999999999999998e-70

          1. Initial program 44.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around inf 53.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]

          if -1.69999999999999998e-70 < A < 2.6999999999999999e-132

          1. Initial program 53.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around -inf 44.0%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

          if 2.6999999999999999e-132 < A

          1. Initial program 74.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in A around inf 59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-2 \cdot \frac{A}{B}\right)}}{\pi} \]
        3. Recombined 5 regimes into one program.
        4. Final simplification55.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -3.05 \cdot 10^{+40}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}\\ \mathbf{elif}\;A \leq -1.9 \cdot 10^{-39}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;A \leq -1.7 \cdot 10^{-70}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \mathbf{elif}\;A \leq 2.7 \cdot 10^{-132}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \end{array} \]

        Alternative 10: 47.1% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -1.05 \cdot 10^{+38}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}\\ \mathbf{elif}\;A \leq -7.6 \cdot 10^{-40}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;A \leq -1.9 \cdot 10^{-67}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \mathbf{elif}\;A \leq 1.3 \cdot 10^{-135}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= A -1.05e+38)
           (* 180.0 (/ (atan (* 0.5 (/ B A))) PI))
           (if (<= A -7.6e-40)
             (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
             (if (<= A -1.9e-67)
               (* 180.0 (/ (atan -1.0) PI))
               (if (<= A 1.3e-135)
                 (* 180.0 (/ (atan 1.0) PI))
                 (* 180.0 (/ (atan (* -2.0 (/ A B))) PI)))))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (A <= -1.05e+38) {
        		tmp = 180.0 * (atan((0.5 * (B / A))) / ((double) M_PI));
        	} else if (A <= -7.6e-40) {
        		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
        	} else if (A <= -1.9e-67) {
        		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
        	} else if (A <= 1.3e-135) {
        		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
        	} else {
        		tmp = 180.0 * (atan((-2.0 * (A / B))) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (A <= -1.05e+38) {
        		tmp = 180.0 * (Math.atan((0.5 * (B / A))) / Math.PI);
        	} else if (A <= -7.6e-40) {
        		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
        	} else if (A <= -1.9e-67) {
        		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
        	} else if (A <= 1.3e-135) {
        		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
        	} else {
        		tmp = 180.0 * (Math.atan((-2.0 * (A / B))) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if A <= -1.05e+38:
        		tmp = 180.0 * (math.atan((0.5 * (B / A))) / math.pi)
        	elif A <= -7.6e-40:
        		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
        	elif A <= -1.9e-67:
        		tmp = 180.0 * (math.atan(-1.0) / math.pi)
        	elif A <= 1.3e-135:
        		tmp = 180.0 * (math.atan(1.0) / math.pi)
        	else:
        		tmp = 180.0 * (math.atan((-2.0 * (A / B))) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (A <= -1.05e+38)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.5 * Float64(B / A))) / pi));
        	elseif (A <= -7.6e-40)
        		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
        	elseif (A <= -1.9e-67)
        		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
        	elseif (A <= 1.3e-135)
        		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
        	else
        		tmp = Float64(180.0 * Float64(atan(Float64(-2.0 * Float64(A / B))) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (A <= -1.05e+38)
        		tmp = 180.0 * (atan((0.5 * (B / A))) / pi);
        	elseif (A <= -7.6e-40)
        		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
        	elseif (A <= -1.9e-67)
        		tmp = 180.0 * (atan(-1.0) / pi);
        	elseif (A <= 1.3e-135)
        		tmp = 180.0 * (atan(1.0) / pi);
        	else
        		tmp = 180.0 * (atan((-2.0 * (A / B))) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[A, -1.05e+38], N[(180.0 * N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, -7.6e-40], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, -1.9e-67], N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 1.3e-135], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(-2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;A \leq -1.05 \cdot 10^{+38}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}\\
        
        \mathbf{elif}\;A \leq -7.6 \cdot 10^{-40}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;A \leq -1.9 \cdot 10^{-67}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
        
        \mathbf{elif}\;A \leq 1.3 \cdot 10^{-135}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 5 regimes
        2. if A < -1.05e38

          1. Initial program 17.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in A around -inf 73.1%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]

          if -1.05e38 < A < -7.5999999999999998e-40

          1. Initial program 57.9%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around -inf 45.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(2 \cdot \frac{C}{B}\right)}}{\pi} \]

          if -7.5999999999999998e-40 < A < -1.89999999999999994e-67

          1. Initial program 44.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around inf 53.5%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]

          if -1.89999999999999994e-67 < A < 1.30000000000000002e-135

          1. Initial program 53.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around -inf 44.0%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

          if 1.30000000000000002e-135 < A

          1. Initial program 74.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in A around inf 59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-2 \cdot \frac{A}{B}\right)}}{\pi} \]
        3. Recombined 5 regimes into one program.
        4. Final simplification55.4%

          \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -1.05 \cdot 10^{+38}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}\\ \mathbf{elif}\;A \leq -7.6 \cdot 10^{-40}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;A \leq -1.9 \cdot 10^{-67}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \mathbf{elif}\;A \leq 1.3 \cdot 10^{-135}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \end{array} \]

        Alternative 11: 54.4% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -4 \cdot 10^{-106}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.8 \cdot 10^{-244}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.16 \cdot 10^{-185}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 5.2 \cdot 10^{-131}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= B -4e-106)
           (* 180.0 (/ (atan (- 1.0 (/ A B))) PI))
           (if (<= B 1.8e-244)
             (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
             (if (<= B 1.16e-185)
               (* 180.0 (/ (atan (/ 0.0 B)) PI))
               (if (<= B 5.2e-131)
                 (* (atan (* 0.5 (/ B A))) (/ 180.0 PI))
                 (/ (* -180.0 (atan (/ (+ B A) B))) PI))))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -4e-106) {
        		tmp = 180.0 * (atan((1.0 - (A / B))) / ((double) M_PI));
        	} else if (B <= 1.8e-244) {
        		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
        	} else if (B <= 1.16e-185) {
        		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
        	} else if (B <= 5.2e-131) {
        		tmp = atan((0.5 * (B / A))) * (180.0 / ((double) M_PI));
        	} else {
        		tmp = (-180.0 * atan(((B + A) / B))) / ((double) M_PI);
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -4e-106) {
        		tmp = 180.0 * (Math.atan((1.0 - (A / B))) / Math.PI);
        	} else if (B <= 1.8e-244) {
        		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
        	} else if (B <= 1.16e-185) {
        		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
        	} else if (B <= 5.2e-131) {
        		tmp = Math.atan((0.5 * (B / A))) * (180.0 / Math.PI);
        	} else {
        		tmp = (-180.0 * Math.atan(((B + A) / B))) / Math.PI;
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if B <= -4e-106:
        		tmp = 180.0 * (math.atan((1.0 - (A / B))) / math.pi)
        	elif B <= 1.8e-244:
        		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
        	elif B <= 1.16e-185:
        		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
        	elif B <= 5.2e-131:
        		tmp = math.atan((0.5 * (B / A))) * (180.0 / math.pi)
        	else:
        		tmp = (-180.0 * math.atan(((B + A) / B))) / math.pi
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (B <= -4e-106)
        		tmp = Float64(180.0 * Float64(atan(Float64(1.0 - Float64(A / B))) / pi));
        	elseif (B <= 1.8e-244)
        		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
        	elseif (B <= 1.16e-185)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
        	elseif (B <= 5.2e-131)
        		tmp = Float64(atan(Float64(0.5 * Float64(B / A))) * Float64(180.0 / pi));
        	else
        		tmp = Float64(Float64(-180.0 * atan(Float64(Float64(B + A) / B))) / pi);
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (B <= -4e-106)
        		tmp = 180.0 * (atan((1.0 - (A / B))) / pi);
        	elseif (B <= 1.8e-244)
        		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
        	elseif (B <= 1.16e-185)
        		tmp = 180.0 * (atan((0.0 / B)) / pi);
        	elseif (B <= 5.2e-131)
        		tmp = atan((0.5 * (B / A))) * (180.0 / pi);
        	else
        		tmp = (-180.0 * atan(((B + A) / B))) / pi;
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[B, -4e-106], N[(180.0 * N[(N[ArcTan[N[(1.0 - N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 1.8e-244], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 1.16e-185], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 5.2e-131], N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision], N[(N[(-180.0 * N[ArcTan[N[(N[(B + A), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;B \leq -4 \cdot 10^{-106}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 1.8 \cdot 10^{-244}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 1.16 \cdot 10^{-185}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 5.2 \cdot 10^{-131}:\\
        \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 5 regimes
        2. if B < -3.99999999999999976e-106

          1. Initial program 49.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around 0 45.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            2. mul-1-neg45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
            3. +-commutative45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
            4. unpow245.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
            5. unpow245.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
            6. hypot-def73.6%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
          4. Simplified73.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
          5. Taylor expanded in B around -inf 71.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 + -1 \cdot \frac{A}{B}\right)}}{\pi} \]
          6. Step-by-step derivation
            1. mul-1-neg71.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(1 + \color{blue}{\left(-\frac{A}{B}\right)}\right)}{\pi} \]
            2. unsub-neg71.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]
          7. Simplified71.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]

          if -3.99999999999999976e-106 < B < 1.79999999999999987e-244

          1. Initial program 78.8%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around -inf 54.4%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(2 \cdot \frac{C}{B}\right)}}{\pi} \]

          if 1.79999999999999987e-244 < B < 1.16000000000000008e-185

          1. Initial program 35.6%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around inf 59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
            2. distribute-rgt1-in59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
            3. metadata-eval59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
            4. mul0-lft59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
            5. metadata-eval59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
          4. Simplified59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

          if 1.16000000000000008e-185 < B < 5.19999999999999993e-131

          1. Initial program 39.6%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/39.6%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/39.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity39.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow239.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow239.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def74.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr74.8%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in A around -inf 40.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]
          5. Taylor expanded in B around 0 40.0%

            \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
          6. Step-by-step derivation
            1. associate-*r/40.0%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
            2. *-commutative40.0%

              \[\leadsto \frac{\color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot 180}}{\pi} \]
            3. associate-*r/40.2%

              \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]
          7. Simplified40.2%

            \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]

          if 5.19999999999999993e-131 < B

          1. Initial program 52.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around 0 46.1%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/46.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            2. mul-1-neg46.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
            3. +-commutative46.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
            4. unpow246.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
            5. unpow246.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
            6. hypot-def68.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
          4. Simplified68.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
          5. Step-by-step derivation
            1. expm1-log1p-u1.2%

              \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)\right)} \]
            2. expm1-udef1.2%

              \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)} - 1} \]
          6. Applied egg-rr1.2%

            \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)} - 1} \]
          7. Step-by-step derivation
            1. expm1-def1.2%

              \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)\right)} \]
            2. expm1-log1p68.7%

              \[\leadsto \color{blue}{180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
            3. associate-*r/68.7%

              \[\leadsto \color{blue}{\frac{180 \cdot \left(-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)\right)}{\pi}} \]
            4. distribute-rgt-neg-out68.7%

              \[\leadsto \frac{\color{blue}{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
            5. distribute-lft-neg-in68.7%

              \[\leadsto \frac{\color{blue}{\left(-180\right) \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
            6. metadata-eval68.7%

              \[\leadsto \frac{\color{blue}{-180} \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi} \]
          8. Simplified68.7%

            \[\leadsto \color{blue}{\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
          9. Taylor expanded in A around 0 66.9%

            \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{A + B}}{B}\right)}{\pi} \]
          10. Step-by-step derivation
            1. +-commutative66.9%

              \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + A}}{B}\right)}{\pi} \]
          11. Simplified66.9%

            \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + A}}{B}\right)}{\pi} \]
        3. Recombined 5 regimes into one program.
        4. Final simplification64.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -4 \cdot 10^{-106}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.8 \cdot 10^{-244}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.16 \cdot 10^{-185}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 5.2 \cdot 10^{-131}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\ \end{array} \]

        Alternative 12: 54.4% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -6.5 \cdot 10^{-106}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{A - B}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-242}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.9 \cdot 10^{-184}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 5.2 \cdot 10^{-131}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= B -6.5e-106)
           (/ (* -180.0 (atan (/ (- A B) B))) PI)
           (if (<= B 2.1e-242)
             (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
             (if (<= B 1.9e-184)
               (* 180.0 (/ (atan (/ 0.0 B)) PI))
               (if (<= B 5.2e-131)
                 (* (atan (* 0.5 (/ B A))) (/ 180.0 PI))
                 (/ (* -180.0 (atan (/ (+ B A) B))) PI))))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -6.5e-106) {
        		tmp = (-180.0 * atan(((A - B) / B))) / ((double) M_PI);
        	} else if (B <= 2.1e-242) {
        		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
        	} else if (B <= 1.9e-184) {
        		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
        	} else if (B <= 5.2e-131) {
        		tmp = atan((0.5 * (B / A))) * (180.0 / ((double) M_PI));
        	} else {
        		tmp = (-180.0 * atan(((B + A) / B))) / ((double) M_PI);
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -6.5e-106) {
        		tmp = (-180.0 * Math.atan(((A - B) / B))) / Math.PI;
        	} else if (B <= 2.1e-242) {
        		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
        	} else if (B <= 1.9e-184) {
        		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
        	} else if (B <= 5.2e-131) {
        		tmp = Math.atan((0.5 * (B / A))) * (180.0 / Math.PI);
        	} else {
        		tmp = (-180.0 * Math.atan(((B + A) / B))) / Math.PI;
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if B <= -6.5e-106:
        		tmp = (-180.0 * math.atan(((A - B) / B))) / math.pi
        	elif B <= 2.1e-242:
        		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
        	elif B <= 1.9e-184:
        		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
        	elif B <= 5.2e-131:
        		tmp = math.atan((0.5 * (B / A))) * (180.0 / math.pi)
        	else:
        		tmp = (-180.0 * math.atan(((B + A) / B))) / math.pi
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (B <= -6.5e-106)
        		tmp = Float64(Float64(-180.0 * atan(Float64(Float64(A - B) / B))) / pi);
        	elseif (B <= 2.1e-242)
        		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
        	elseif (B <= 1.9e-184)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
        	elseif (B <= 5.2e-131)
        		tmp = Float64(atan(Float64(0.5 * Float64(B / A))) * Float64(180.0 / pi));
        	else
        		tmp = Float64(Float64(-180.0 * atan(Float64(Float64(B + A) / B))) / pi);
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (B <= -6.5e-106)
        		tmp = (-180.0 * atan(((A - B) / B))) / pi;
        	elseif (B <= 2.1e-242)
        		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
        	elseif (B <= 1.9e-184)
        		tmp = 180.0 * (atan((0.0 / B)) / pi);
        	elseif (B <= 5.2e-131)
        		tmp = atan((0.5 * (B / A))) * (180.0 / pi);
        	else
        		tmp = (-180.0 * atan(((B + A) / B))) / pi;
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[B, -6.5e-106], N[(N[(-180.0 * N[ArcTan[N[(N[(A - B), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], If[LessEqual[B, 2.1e-242], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 1.9e-184], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 5.2e-131], N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision], N[(N[(-180.0 * N[ArcTan[N[(N[(B + A), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;B \leq -6.5 \cdot 10^{-106}:\\
        \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{A - B}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 2.1 \cdot 10^{-242}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 1.9 \cdot 10^{-184}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 5.2 \cdot 10^{-131}:\\
        \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 5 regimes
        2. if B < -6.4999999999999997e-106

          1. Initial program 49.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around 0 45.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            2. mul-1-neg45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
            3. +-commutative45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
            4. unpow245.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
            5. unpow245.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
            6. hypot-def73.6%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
          4. Simplified73.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
          5. Step-by-step derivation
            1. expm1-log1p-u73.1%

              \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)\right)} \]
            2. expm1-udef73.1%

              \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)} - 1} \]
          6. Applied egg-rr73.1%

            \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)} - 1} \]
          7. Step-by-step derivation
            1. expm1-def73.1%

              \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)\right)} \]
            2. expm1-log1p73.6%

              \[\leadsto \color{blue}{180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
            3. associate-*r/73.6%

              \[\leadsto \color{blue}{\frac{180 \cdot \left(-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)\right)}{\pi}} \]
            4. distribute-rgt-neg-out73.6%

              \[\leadsto \frac{\color{blue}{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
            5. distribute-lft-neg-in73.6%

              \[\leadsto \frac{\color{blue}{\left(-180\right) \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
            6. metadata-eval73.6%

              \[\leadsto \frac{\color{blue}{-180} \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi} \]
          8. Simplified73.6%

            \[\leadsto \color{blue}{\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
          9. Taylor expanded in B around -inf 71.3%

            \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{A + -1 \cdot B}}{B}\right)}{\pi} \]
          10. Step-by-step derivation
            1. mul-1-neg71.3%

              \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{A + \color{blue}{\left(-B\right)}}{B}\right)}{\pi} \]
            2. unsub-neg71.3%

              \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{A - B}}{B}\right)}{\pi} \]
          11. Simplified71.3%

            \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{A - B}}{B}\right)}{\pi} \]

          if -6.4999999999999997e-106 < B < 2.10000000000000019e-242

          1. Initial program 78.8%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around -inf 54.4%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(2 \cdot \frac{C}{B}\right)}}{\pi} \]

          if 2.10000000000000019e-242 < B < 1.90000000000000008e-184

          1. Initial program 35.6%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around inf 59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
            2. distribute-rgt1-in59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
            3. metadata-eval59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
            4. mul0-lft59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
            5. metadata-eval59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
          4. Simplified59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

          if 1.90000000000000008e-184 < B < 5.19999999999999993e-131

          1. Initial program 39.6%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/39.6%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/39.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity39.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow239.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow239.6%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def74.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr74.8%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in A around -inf 40.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]
          5. Taylor expanded in B around 0 40.0%

            \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
          6. Step-by-step derivation
            1. associate-*r/40.0%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
            2. *-commutative40.0%

              \[\leadsto \frac{\color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot 180}}{\pi} \]
            3. associate-*r/40.2%

              \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]
          7. Simplified40.2%

            \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]

          if 5.19999999999999993e-131 < B

          1. Initial program 52.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around 0 46.1%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/46.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            2. mul-1-neg46.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
            3. +-commutative46.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
            4. unpow246.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
            5. unpow246.1%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
            6. hypot-def68.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
          4. Simplified68.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
          5. Step-by-step derivation
            1. expm1-log1p-u1.2%

              \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)\right)} \]
            2. expm1-udef1.2%

              \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)} - 1} \]
          6. Applied egg-rr1.2%

            \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)} - 1} \]
          7. Step-by-step derivation
            1. expm1-def1.2%

              \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)\right)} \]
            2. expm1-log1p68.7%

              \[\leadsto \color{blue}{180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
            3. associate-*r/68.7%

              \[\leadsto \color{blue}{\frac{180 \cdot \left(-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)\right)}{\pi}} \]
            4. distribute-rgt-neg-out68.7%

              \[\leadsto \frac{\color{blue}{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
            5. distribute-lft-neg-in68.7%

              \[\leadsto \frac{\color{blue}{\left(-180\right) \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
            6. metadata-eval68.7%

              \[\leadsto \frac{\color{blue}{-180} \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi} \]
          8. Simplified68.7%

            \[\leadsto \color{blue}{\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
          9. Taylor expanded in A around 0 66.9%

            \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{A + B}}{B}\right)}{\pi} \]
          10. Step-by-step derivation
            1. +-commutative66.9%

              \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + A}}{B}\right)}{\pi} \]
          11. Simplified66.9%

            \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + A}}{B}\right)}{\pi} \]
        3. Recombined 5 regimes into one program.
        4. Final simplification64.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -6.5 \cdot 10^{-106}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{A - B}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-242}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.9 \cdot 10^{-184}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 5.2 \cdot 10^{-131}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\ \end{array} \]

        Alternative 13: 50.5% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -4 \cdot 10^{-106}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 3.7 \cdot 10^{-242}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4 \cdot 10^{-169}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2 \cdot 10^{-100}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= B -4e-106)
           (* 180.0 (/ (atan (- 1.0 (/ A B))) PI))
           (if (<= B 3.7e-242)
             (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
             (if (<= B 4e-169)
               (* 180.0 (/ (atan (/ 0.0 B)) PI))
               (if (<= B 2e-100)
                 (/ (* 180.0 (atan (/ (- A) B))) PI)
                 (* 180.0 (/ (atan -1.0) PI)))))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -4e-106) {
        		tmp = 180.0 * (atan((1.0 - (A / B))) / ((double) M_PI));
        	} else if (B <= 3.7e-242) {
        		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
        	} else if (B <= 4e-169) {
        		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
        	} else if (B <= 2e-100) {
        		tmp = (180.0 * atan((-A / B))) / ((double) M_PI);
        	} else {
        		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (B <= -4e-106) {
        		tmp = 180.0 * (Math.atan((1.0 - (A / B))) / Math.PI);
        	} else if (B <= 3.7e-242) {
        		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
        	} else if (B <= 4e-169) {
        		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
        	} else if (B <= 2e-100) {
        		tmp = (180.0 * Math.atan((-A / B))) / Math.PI;
        	} else {
        		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if B <= -4e-106:
        		tmp = 180.0 * (math.atan((1.0 - (A / B))) / math.pi)
        	elif B <= 3.7e-242:
        		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
        	elif B <= 4e-169:
        		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
        	elif B <= 2e-100:
        		tmp = (180.0 * math.atan((-A / B))) / math.pi
        	else:
        		tmp = 180.0 * (math.atan(-1.0) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (B <= -4e-106)
        		tmp = Float64(180.0 * Float64(atan(Float64(1.0 - Float64(A / B))) / pi));
        	elseif (B <= 3.7e-242)
        		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
        	elseif (B <= 4e-169)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
        	elseif (B <= 2e-100)
        		tmp = Float64(Float64(180.0 * atan(Float64(Float64(-A) / B))) / pi);
        	else
        		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (B <= -4e-106)
        		tmp = 180.0 * (atan((1.0 - (A / B))) / pi);
        	elseif (B <= 3.7e-242)
        		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
        	elseif (B <= 4e-169)
        		tmp = 180.0 * (atan((0.0 / B)) / pi);
        	elseif (B <= 2e-100)
        		tmp = (180.0 * atan((-A / B))) / pi;
        	else
        		tmp = 180.0 * (atan(-1.0) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[B, -4e-106], N[(180.0 * N[(N[ArcTan[N[(1.0 - N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 3.7e-242], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 4e-169], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 2e-100], N[(N[(180.0 * N[ArcTan[N[((-A) / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;B \leq -4 \cdot 10^{-106}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 3.7 \cdot 10^{-242}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 4 \cdot 10^{-169}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 2 \cdot 10^{-100}:\\
        \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 5 regimes
        2. if B < -3.99999999999999976e-106

          1. Initial program 49.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around 0 45.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            2. mul-1-neg45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
            3. +-commutative45.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
            4. unpow245.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
            5. unpow245.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
            6. hypot-def73.6%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
          4. Simplified73.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
          5. Taylor expanded in B around -inf 71.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 + -1 \cdot \frac{A}{B}\right)}}{\pi} \]
          6. Step-by-step derivation
            1. mul-1-neg71.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(1 + \color{blue}{\left(-\frac{A}{B}\right)}\right)}{\pi} \]
            2. unsub-neg71.3%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]
          7. Simplified71.3%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]

          if -3.99999999999999976e-106 < B < 3.69999999999999997e-242

          1. Initial program 78.8%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around -inf 54.4%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(2 \cdot \frac{C}{B}\right)}}{\pi} \]

          if 3.69999999999999997e-242 < B < 4.00000000000000008e-169

          1. Initial program 36.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around inf 51.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
            2. distribute-rgt1-in51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
            3. metadata-eval51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
            4. mul0-lft51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
            5. metadata-eval51.7%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
          4. Simplified51.7%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

          if 4.00000000000000008e-169 < B < 2e-100

          1. Initial program 60.1%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/60.1%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/60.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity60.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow260.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow260.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def69.1%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr69.1%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 59.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg59.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg59.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified59.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in A around inf 43.3%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-1 \cdot \frac{A}{B}\right)}}{\pi} \]
          8. Step-by-step derivation
            1. associate-*r/43.3%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{-1 \cdot A}{B}\right)}}{\pi} \]
            2. neg-mul-143.3%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{-A}}{B}\right)}{\pi} \]
          9. Simplified43.3%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{-A}{B}\right)}}{\pi} \]

          if 2e-100 < B

          1. Initial program 50.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around inf 52.6%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
        3. Recombined 5 regimes into one program.
        4. Final simplification59.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -4 \cdot 10^{-106}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 3.7 \cdot 10^{-242}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4 \cdot 10^{-169}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2 \cdot 10^{-100}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{-A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]

        Alternative 14: 45.9% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{if}\;B \leq -3.3 \cdot 10^{-63}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 9.5 \cdot 10^{-242}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;B \leq 3.1 \cdot 10^{-186}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-152}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (let* ((t_0 (/ (* 180.0 (atan (/ C B))) PI)))
           (if (<= B -3.3e-63)
             (* 180.0 (/ (atan 1.0) PI))
             (if (<= B 9.5e-242)
               t_0
               (if (<= B 3.1e-186)
                 (* 180.0 (/ (atan (/ 0.0 B)) PI))
                 (if (<= B 2.1e-152) t_0 (* 180.0 (/ (atan -1.0) PI))))))))
        double code(double A, double B, double C) {
        	double t_0 = (180.0 * atan((C / B))) / ((double) M_PI);
        	double tmp;
        	if (B <= -3.3e-63) {
        		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
        	} else if (B <= 9.5e-242) {
        		tmp = t_0;
        	} else if (B <= 3.1e-186) {
        		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
        	} else if (B <= 2.1e-152) {
        		tmp = t_0;
        	} else {
        		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double t_0 = (180.0 * Math.atan((C / B))) / Math.PI;
        	double tmp;
        	if (B <= -3.3e-63) {
        		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
        	} else if (B <= 9.5e-242) {
        		tmp = t_0;
        	} else if (B <= 3.1e-186) {
        		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
        	} else if (B <= 2.1e-152) {
        		tmp = t_0;
        	} else {
        		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	t_0 = (180.0 * math.atan((C / B))) / math.pi
        	tmp = 0
        	if B <= -3.3e-63:
        		tmp = 180.0 * (math.atan(1.0) / math.pi)
        	elif B <= 9.5e-242:
        		tmp = t_0
        	elif B <= 3.1e-186:
        		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
        	elif B <= 2.1e-152:
        		tmp = t_0
        	else:
        		tmp = 180.0 * (math.atan(-1.0) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	t_0 = Float64(Float64(180.0 * atan(Float64(C / B))) / pi)
        	tmp = 0.0
        	if (B <= -3.3e-63)
        		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
        	elseif (B <= 9.5e-242)
        		tmp = t_0;
        	elseif (B <= 3.1e-186)
        		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
        	elseif (B <= 2.1e-152)
        		tmp = t_0;
        	else
        		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	t_0 = (180.0 * atan((C / B))) / pi;
        	tmp = 0.0;
        	if (B <= -3.3e-63)
        		tmp = 180.0 * (atan(1.0) / pi);
        	elseif (B <= 9.5e-242)
        		tmp = t_0;
        	elseif (B <= 3.1e-186)
        		tmp = 180.0 * (atan((0.0 / B)) / pi);
        	elseif (B <= 2.1e-152)
        		tmp = t_0;
        	else
        		tmp = 180.0 * (atan(-1.0) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := Block[{t$95$0 = N[(N[(180.0 * N[ArcTan[N[(C / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]}, If[LessEqual[B, -3.3e-63], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 9.5e-242], t$95$0, If[LessEqual[B, 3.1e-186], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 2.1e-152], t$95$0, N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\
        \mathbf{if}\;B \leq -3.3 \cdot 10^{-63}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
        
        \mathbf{elif}\;B \leq 9.5 \cdot 10^{-242}:\\
        \;\;\;\;t_0\\
        
        \mathbf{elif}\;B \leq 3.1 \cdot 10^{-186}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
        
        \mathbf{elif}\;B \leq 2.1 \cdot 10^{-152}:\\
        \;\;\;\;t_0\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 4 regimes
        2. if B < -3.29999999999999994e-63

          1. Initial program 46.9%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around -inf 60.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

          if -3.29999999999999994e-63 < B < 9.4999999999999997e-242 or 3.10000000000000009e-186 < B < 2.09999999999999999e-152

          1. Initial program 74.0%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/74.0%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/74.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity74.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow274.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow274.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def92.7%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr92.7%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in B around inf 61.8%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C + -1 \cdot B\right) - A}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. mul-1-neg61.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C + \color{blue}{\left(-B\right)}\right) - A}{B}\right)}{\pi} \]
            2. unsub-neg61.8%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right)} - A}{B}\right)}{\pi} \]
          6. Simplified61.8%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - B\right) - A}}{B}\right)}{\pi} \]
          7. Taylor expanded in C around inf 49.7%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{C}{B}\right)}}{\pi} \]

          if 9.4999999999999997e-242 < B < 3.10000000000000009e-186

          1. Initial program 35.6%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in C around inf 59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
          3. Step-by-step derivation
            1. associate-*r/59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
            2. distribute-rgt1-in59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
            3. metadata-eval59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
            4. mul0-lft59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
            5. metadata-eval59.8%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
          4. Simplified59.8%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

          if 2.09999999999999999e-152 < B

          1. Initial program 50.6%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Taylor expanded in B around inf 49.0%

            \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
        3. Recombined 4 regimes into one program.
        4. Final simplification53.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -3.3 \cdot 10^{-63}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 9.5 \cdot 10^{-242}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 3.1 \cdot 10^{-186}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-152}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]

        Alternative 15: 61.5% accurate, 2.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -5.9 \cdot 10^{+40}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 4.4 \cdot 10^{-182}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \end{array} \]
        (FPCore (A B C)
         :precision binary64
         (if (<= A -5.9e+40)
           (* (atan (* 0.5 (/ B A))) (/ 180.0 PI))
           (if (<= A 4.4e-182)
             (/ (* 180.0 (atan (/ (+ B C) B))) PI)
             (* 180.0 (/ (atan (/ (- C (+ B A)) B)) PI)))))
        double code(double A, double B, double C) {
        	double tmp;
        	if (A <= -5.9e+40) {
        		tmp = atan((0.5 * (B / A))) * (180.0 / ((double) M_PI));
        	} else if (A <= 4.4e-182) {
        		tmp = (180.0 * atan(((B + C) / B))) / ((double) M_PI);
        	} else {
        		tmp = 180.0 * (atan(((C - (B + A)) / B)) / ((double) M_PI));
        	}
        	return tmp;
        }
        
        public static double code(double A, double B, double C) {
        	double tmp;
        	if (A <= -5.9e+40) {
        		tmp = Math.atan((0.5 * (B / A))) * (180.0 / Math.PI);
        	} else if (A <= 4.4e-182) {
        		tmp = (180.0 * Math.atan(((B + C) / B))) / Math.PI;
        	} else {
        		tmp = 180.0 * (Math.atan(((C - (B + A)) / B)) / Math.PI);
        	}
        	return tmp;
        }
        
        def code(A, B, C):
        	tmp = 0
        	if A <= -5.9e+40:
        		tmp = math.atan((0.5 * (B / A))) * (180.0 / math.pi)
        	elif A <= 4.4e-182:
        		tmp = (180.0 * math.atan(((B + C) / B))) / math.pi
        	else:
        		tmp = 180.0 * (math.atan(((C - (B + A)) / B)) / math.pi)
        	return tmp
        
        function code(A, B, C)
        	tmp = 0.0
        	if (A <= -5.9e+40)
        		tmp = Float64(atan(Float64(0.5 * Float64(B / A))) * Float64(180.0 / pi));
        	elseif (A <= 4.4e-182)
        		tmp = Float64(Float64(180.0 * atan(Float64(Float64(B + C) / B))) / pi);
        	else
        		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - Float64(B + A)) / B)) / pi));
        	end
        	return tmp
        end
        
        function tmp_2 = code(A, B, C)
        	tmp = 0.0;
        	if (A <= -5.9e+40)
        		tmp = atan((0.5 * (B / A))) * (180.0 / pi);
        	elseif (A <= 4.4e-182)
        		tmp = (180.0 * atan(((B + C) / B))) / pi;
        	else
        		tmp = 180.0 * (atan(((C - (B + A)) / B)) / pi);
        	end
        	tmp_2 = tmp;
        end
        
        code[A_, B_, C_] := If[LessEqual[A, -5.9e+40], N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 4.4e-182], N[(N[(180.0 * N[ArcTan[N[(N[(B + C), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[(B + A), $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;A \leq -5.9 \cdot 10^{+40}:\\
        \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\
        
        \mathbf{elif}\;A \leq 4.4 \cdot 10^{-182}:\\
        \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\
        
        \mathbf{else}:\\
        \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if A < -5.8999999999999999e40

          1. Initial program 17.4%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/17.4%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/17.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity17.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow217.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow217.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def49.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr49.4%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in A around -inf 73.2%

            \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]
          5. Taylor expanded in B around 0 73.1%

            \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
          6. Step-by-step derivation
            1. associate-*r/73.2%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
            2. *-commutative73.2%

              \[\leadsto \frac{\color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot 180}}{\pi} \]
            3. associate-*r/73.4%

              \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]
          7. Simplified73.4%

            \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]

          if -5.8999999999999999e40 < A < 4.3999999999999999e-182

          1. Initial program 51.2%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. associate-*r/51.2%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
            2. associate-*l/51.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
            3. *-un-lft-identity51.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
            4. unpow251.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
            5. unpow251.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
            6. hypot-def85.7%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
          3. Applied egg-rr85.7%

            \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
          4. Taylor expanded in A around 0 50.4%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{C - \sqrt{{B}^{2} + {C}^{2}}}}{B}\right)}{\pi} \]
          5. Step-by-step derivation
            1. unpow250.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \sqrt{\color{blue}{B \cdot B} + {C}^{2}}}{B}\right)}{\pi} \]
            2. unpow250.4%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \sqrt{B \cdot B + \color{blue}{C \cdot C}}}{B}\right)}{\pi} \]
            3. hypot-def84.3%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
          6. Simplified84.3%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{C - \mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
          7. Taylor expanded in B around -inf 60.0%

            \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + C}}{B}\right)}{\pi} \]

          if 4.3999999999999999e-182 < A

          1. Initial program 74.3%

            \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
          2. Step-by-step derivation
            1. Simplified91.7%

              \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}} \]
            2. Taylor expanded in B around inf 75.2%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(A + B\right)}}{B}\right)}{\pi} \]
            3. Step-by-step derivation
              1. +-commutative75.2%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
            4. Simplified75.2%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
          3. Recombined 3 regimes into one program.
          4. Final simplification68.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -5.9 \cdot 10^{+40}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 4.4 \cdot 10^{-182}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \]

          Alternative 16: 61.4% accurate, 2.4× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -5.2 \cdot 10^{+46}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 9 \cdot 10^{-182}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{B + C}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \end{array} \]
          (FPCore (A B C)
           :precision binary64
           (if (<= A -5.2e+46)
             (* (atan (* 0.5 (/ B A))) (/ 180.0 PI))
             (if (<= A 9e-182)
               (/ (* 180.0 (atan (/ 1.0 (/ B (+ B C))))) PI)
               (* 180.0 (/ (atan (/ (- C (+ B A)) B)) PI)))))
          double code(double A, double B, double C) {
          	double tmp;
          	if (A <= -5.2e+46) {
          		tmp = atan((0.5 * (B / A))) * (180.0 / ((double) M_PI));
          	} else if (A <= 9e-182) {
          		tmp = (180.0 * atan((1.0 / (B / (B + C))))) / ((double) M_PI);
          	} else {
          		tmp = 180.0 * (atan(((C - (B + A)) / B)) / ((double) M_PI));
          	}
          	return tmp;
          }
          
          public static double code(double A, double B, double C) {
          	double tmp;
          	if (A <= -5.2e+46) {
          		tmp = Math.atan((0.5 * (B / A))) * (180.0 / Math.PI);
          	} else if (A <= 9e-182) {
          		tmp = (180.0 * Math.atan((1.0 / (B / (B + C))))) / Math.PI;
          	} else {
          		tmp = 180.0 * (Math.atan(((C - (B + A)) / B)) / Math.PI);
          	}
          	return tmp;
          }
          
          def code(A, B, C):
          	tmp = 0
          	if A <= -5.2e+46:
          		tmp = math.atan((0.5 * (B / A))) * (180.0 / math.pi)
          	elif A <= 9e-182:
          		tmp = (180.0 * math.atan((1.0 / (B / (B + C))))) / math.pi
          	else:
          		tmp = 180.0 * (math.atan(((C - (B + A)) / B)) / math.pi)
          	return tmp
          
          function code(A, B, C)
          	tmp = 0.0
          	if (A <= -5.2e+46)
          		tmp = Float64(atan(Float64(0.5 * Float64(B / A))) * Float64(180.0 / pi));
          	elseif (A <= 9e-182)
          		tmp = Float64(Float64(180.0 * atan(Float64(1.0 / Float64(B / Float64(B + C))))) / pi);
          	else
          		tmp = Float64(180.0 * Float64(atan(Float64(Float64(C - Float64(B + A)) / B)) / pi));
          	end
          	return tmp
          end
          
          function tmp_2 = code(A, B, C)
          	tmp = 0.0;
          	if (A <= -5.2e+46)
          		tmp = atan((0.5 * (B / A))) * (180.0 / pi);
          	elseif (A <= 9e-182)
          		tmp = (180.0 * atan((1.0 / (B / (B + C))))) / pi;
          	else
          		tmp = 180.0 * (atan(((C - (B + A)) / B)) / pi);
          	end
          	tmp_2 = tmp;
          end
          
          code[A_, B_, C_] := If[LessEqual[A, -5.2e+46], N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 9e-182], N[(N[(180.0 * N[ArcTan[N[(1.0 / N[(B / N[(B + C), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[(C - N[(B + A), $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;A \leq -5.2 \cdot 10^{+46}:\\
          \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\
          
          \mathbf{elif}\;A \leq 9 \cdot 10^{-182}:\\
          \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{B + C}}\right)}{\pi}\\
          
          \mathbf{else}:\\
          \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if A < -5.20000000000000027e46

            1. Initial program 17.4%

              \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
            2. Step-by-step derivation
              1. associate-*r/17.4%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
              2. associate-*l/17.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
              3. *-un-lft-identity17.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
              4. unpow217.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
              5. unpow217.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
              6. hypot-def49.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
            3. Applied egg-rr49.4%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
            4. Taylor expanded in A around -inf 73.2%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]
            5. Taylor expanded in B around 0 73.1%

              \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
            6. Step-by-step derivation
              1. associate-*r/73.2%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
              2. *-commutative73.2%

                \[\leadsto \frac{\color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot 180}}{\pi} \]
              3. associate-*r/73.4%

                \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]
            7. Simplified73.4%

              \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]

            if -5.20000000000000027e46 < A < 8.9999999999999998e-182

            1. Initial program 51.2%

              \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
            2. Step-by-step derivation
              1. associate-*r/51.2%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
              2. associate-*l/51.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
              3. *-un-lft-identity51.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
              4. unpow251.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
              5. unpow251.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
              6. hypot-def85.7%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
            3. Applied egg-rr85.7%

              \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
            4. Step-by-step derivation
              1. clear-num85.7%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
              2. inv-pow85.7%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
            5. Applied egg-rr85.7%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left({\left(\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}\right)}^{-1}\right)}}{\pi} \]
            6. Step-by-step derivation
              1. unpow-185.7%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}}\right)}}{\pi} \]
              2. associate--r+85.7%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{\color{blue}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}}\right)}{\pi} \]
            7. Simplified85.7%

              \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1}{\frac{B}{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}}\right)}}{\pi} \]
            8. Taylor expanded in B around -inf 60.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{C - \color{blue}{-1 \cdot B}}}\right)}{\pi} \]
            9. Step-by-step derivation
              1. mul-1-neg60.0%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{C - \color{blue}{\left(-B\right)}}}\right)}{\pi} \]
            10. Simplified60.0%

              \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{C - \color{blue}{\left(-B\right)}}}\right)}{\pi} \]

            if 8.9999999999999998e-182 < A

            1. Initial program 74.3%

              \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
            2. Step-by-step derivation
              1. Simplified91.7%

                \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(B, A - C\right)\right)}{B}\right)}{\pi}} \]
              2. Taylor expanded in B around inf 75.2%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(A + B\right)}}{B}\right)}{\pi} \]
              3. Step-by-step derivation
                1. +-commutative75.2%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
              4. Simplified75.2%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{C - \color{blue}{\left(B + A\right)}}{B}\right)}{\pi} \]
            3. Recombined 3 regimes into one program.
            4. Final simplification68.5%

              \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -5.2 \cdot 10^{+46}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 9 \cdot 10^{-182}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{1}{\frac{B}{B + C}}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \left(B + A\right)}{B}\right)}{\pi}\\ \end{array} \]

            Alternative 17: 59.7% accurate, 2.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -1.25 \cdot 10^{+41}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 1.55 \cdot 10^{-180}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{\left(-B\right) - A}{B}\right)}{\pi}\\ \end{array} \end{array} \]
            (FPCore (A B C)
             :precision binary64
             (if (<= A -1.25e+41)
               (* (atan (* 0.5 (/ B A))) (/ 180.0 PI))
               (if (<= A 1.55e-180)
                 (/ (* 180.0 (atan (/ (+ B C) B))) PI)
                 (* 180.0 (/ (atan (/ (- (- B) A) B)) PI)))))
            double code(double A, double B, double C) {
            	double tmp;
            	if (A <= -1.25e+41) {
            		tmp = atan((0.5 * (B / A))) * (180.0 / ((double) M_PI));
            	} else if (A <= 1.55e-180) {
            		tmp = (180.0 * atan(((B + C) / B))) / ((double) M_PI);
            	} else {
            		tmp = 180.0 * (atan(((-B - A) / B)) / ((double) M_PI));
            	}
            	return tmp;
            }
            
            public static double code(double A, double B, double C) {
            	double tmp;
            	if (A <= -1.25e+41) {
            		tmp = Math.atan((0.5 * (B / A))) * (180.0 / Math.PI);
            	} else if (A <= 1.55e-180) {
            		tmp = (180.0 * Math.atan(((B + C) / B))) / Math.PI;
            	} else {
            		tmp = 180.0 * (Math.atan(((-B - A) / B)) / Math.PI);
            	}
            	return tmp;
            }
            
            def code(A, B, C):
            	tmp = 0
            	if A <= -1.25e+41:
            		tmp = math.atan((0.5 * (B / A))) * (180.0 / math.pi)
            	elif A <= 1.55e-180:
            		tmp = (180.0 * math.atan(((B + C) / B))) / math.pi
            	else:
            		tmp = 180.0 * (math.atan(((-B - A) / B)) / math.pi)
            	return tmp
            
            function code(A, B, C)
            	tmp = 0.0
            	if (A <= -1.25e+41)
            		tmp = Float64(atan(Float64(0.5 * Float64(B / A))) * Float64(180.0 / pi));
            	elseif (A <= 1.55e-180)
            		tmp = Float64(Float64(180.0 * atan(Float64(Float64(B + C) / B))) / pi);
            	else
            		tmp = Float64(180.0 * Float64(atan(Float64(Float64(Float64(-B) - A) / B)) / pi));
            	end
            	return tmp
            end
            
            function tmp_2 = code(A, B, C)
            	tmp = 0.0;
            	if (A <= -1.25e+41)
            		tmp = atan((0.5 * (B / A))) * (180.0 / pi);
            	elseif (A <= 1.55e-180)
            		tmp = (180.0 * atan(((B + C) / B))) / pi;
            	else
            		tmp = 180.0 * (atan(((-B - A) / B)) / pi);
            	end
            	tmp_2 = tmp;
            end
            
            code[A_, B_, C_] := If[LessEqual[A, -1.25e+41], N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 1.55e-180], N[(N[(180.0 * N[ArcTan[N[(N[(B + C), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[((-B) - A), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;A \leq -1.25 \cdot 10^{+41}:\\
            \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\
            
            \mathbf{elif}\;A \leq 1.55 \cdot 10^{-180}:\\
            \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\
            
            \mathbf{else}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{\left(-B\right) - A}{B}\right)}{\pi}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if A < -1.25000000000000006e41

              1. Initial program 17.4%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Step-by-step derivation
                1. associate-*r/17.4%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
                2. associate-*l/17.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                3. *-un-lft-identity17.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
                4. unpow217.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
                5. unpow217.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
                6. hypot-def49.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
              3. Applied egg-rr49.4%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
              4. Taylor expanded in A around -inf 73.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]
              5. Taylor expanded in B around 0 73.1%

                \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
              6. Step-by-step derivation
                1. associate-*r/73.2%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
                2. *-commutative73.2%

                  \[\leadsto \frac{\color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot 180}}{\pi} \]
                3. associate-*r/73.4%

                  \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]
              7. Simplified73.4%

                \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]

              if -1.25000000000000006e41 < A < 1.5499999999999999e-180

              1. Initial program 51.7%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Step-by-step derivation
                1. associate-*r/51.7%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
                2. associate-*l/51.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                3. *-un-lft-identity51.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
                4. unpow251.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
                5. unpow251.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
                6. hypot-def85.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
              3. Applied egg-rr85.9%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
              4. Taylor expanded in A around 0 50.9%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{C - \sqrt{{B}^{2} + {C}^{2}}}}{B}\right)}{\pi} \]
              5. Step-by-step derivation
                1. unpow250.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \sqrt{\color{blue}{B \cdot B} + {C}^{2}}}{B}\right)}{\pi} \]
                2. unpow250.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \sqrt{B \cdot B + \color{blue}{C \cdot C}}}{B}\right)}{\pi} \]
                3. hypot-def84.5%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
              6. Simplified84.5%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{C - \mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
              7. Taylor expanded in B around -inf 60.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + C}}{B}\right)}{\pi} \]

              if 1.5499999999999999e-180 < A

              1. Initial program 74.1%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around 0 68.1%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
              3. Step-by-step derivation
                1. associate-*r/68.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                2. mul-1-neg68.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
                3. +-commutative68.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
                4. unpow268.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
                5. unpow268.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
                6. hypot-def78.5%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
              4. Simplified78.5%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
              5. Taylor expanded in A around 0 69.5%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\color{blue}{\left(A + B\right)}}{B}\right)}{\pi} \]
            3. Recombined 3 regimes into one program.
            4. Final simplification66.3%

              \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -1.25 \cdot 10^{+41}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 1.55 \cdot 10^{-180}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{\left(-B\right) - A}{B}\right)}{\pi}\\ \end{array} \]

            Alternative 18: 56.0% accurate, 2.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;C \leq -2.25 \cdot 10^{+66}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 9.6 \cdot 10^{+99}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{B \cdot -0.5}{C}\right)}{\pi}\\ \end{array} \end{array} \]
            (FPCore (A B C)
             :precision binary64
             (if (<= C -2.25e+66)
               (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
               (if (<= C 9.6e+99)
                 (* 180.0 (/ (atan (- 1.0 (/ A B))) PI))
                 (* 180.0 (/ (atan (/ (* B -0.5) C)) PI)))))
            double code(double A, double B, double C) {
            	double tmp;
            	if (C <= -2.25e+66) {
            		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
            	} else if (C <= 9.6e+99) {
            		tmp = 180.0 * (atan((1.0 - (A / B))) / ((double) M_PI));
            	} else {
            		tmp = 180.0 * (atan(((B * -0.5) / C)) / ((double) M_PI));
            	}
            	return tmp;
            }
            
            public static double code(double A, double B, double C) {
            	double tmp;
            	if (C <= -2.25e+66) {
            		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
            	} else if (C <= 9.6e+99) {
            		tmp = 180.0 * (Math.atan((1.0 - (A / B))) / Math.PI);
            	} else {
            		tmp = 180.0 * (Math.atan(((B * -0.5) / C)) / Math.PI);
            	}
            	return tmp;
            }
            
            def code(A, B, C):
            	tmp = 0
            	if C <= -2.25e+66:
            		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
            	elif C <= 9.6e+99:
            		tmp = 180.0 * (math.atan((1.0 - (A / B))) / math.pi)
            	else:
            		tmp = 180.0 * (math.atan(((B * -0.5) / C)) / math.pi)
            	return tmp
            
            function code(A, B, C)
            	tmp = 0.0
            	if (C <= -2.25e+66)
            		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
            	elseif (C <= 9.6e+99)
            		tmp = Float64(180.0 * Float64(atan(Float64(1.0 - Float64(A / B))) / pi));
            	else
            		tmp = Float64(180.0 * Float64(atan(Float64(Float64(B * -0.5) / C)) / pi));
            	end
            	return tmp
            end
            
            function tmp_2 = code(A, B, C)
            	tmp = 0.0;
            	if (C <= -2.25e+66)
            		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
            	elseif (C <= 9.6e+99)
            		tmp = 180.0 * (atan((1.0 - (A / B))) / pi);
            	else
            		tmp = 180.0 * (atan(((B * -0.5) / C)) / pi);
            	end
            	tmp_2 = tmp;
            end
            
            code[A_, B_, C_] := If[LessEqual[C, -2.25e+66], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[C, 9.6e+99], N[(180.0 * N[(N[ArcTan[N[(1.0 - N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(180.0 * N[(N[ArcTan[N[(N[(B * -0.5), $MachinePrecision] / C), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;C \leq -2.25 \cdot 10^{+66}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
            
            \mathbf{elif}\;C \leq 9.6 \cdot 10^{+99}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\
            
            \mathbf{else}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{B \cdot -0.5}{C}\right)}{\pi}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if C < -2.2499999999999999e66

              1. Initial program 77.3%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around -inf 73.7%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(2 \cdot \frac{C}{B}\right)}}{\pi} \]

              if -2.2499999999999999e66 < C < 9.6000000000000005e99

              1. Initial program 56.5%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around 0 52.6%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
              3. Step-by-step derivation
                1. associate-*r/52.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                2. mul-1-neg52.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
                3. +-commutative52.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
                4. unpow252.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
                5. unpow252.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
                6. hypot-def81.5%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
              4. Simplified81.5%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
              5. Taylor expanded in B around -inf 52.0%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 + -1 \cdot \frac{A}{B}\right)}}{\pi} \]
              6. Step-by-step derivation
                1. mul-1-neg52.0%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(1 + \color{blue}{\left(-\frac{A}{B}\right)}\right)}{\pi} \]
                2. unsub-neg52.0%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]
              7. Simplified52.0%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]

              if 9.6000000000000005e99 < C

              1. Initial program 22.9%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around inf 49.2%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \color{blue}{\left(-1 \cdot \left(A + -1 \cdot A\right) + -0.5 \cdot \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{C}\right)}\right)}{\pi} \]
              3. Taylor expanded in B around inf 77.3%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{B}{C}\right)}}{\pi} \]
              4. Step-by-step derivation
                1. associate-*r/77.3%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-0.5 \cdot B}{C}\right)}}{\pi} \]
              5. Simplified77.3%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-0.5 \cdot B}{C}\right)}}{\pi} \]
            3. Recombined 3 regimes into one program.
            4. Final simplification60.3%

              \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -2.25 \cdot 10^{+66}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 9.6 \cdot 10^{+99}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{B \cdot -0.5}{C}\right)}{\pi}\\ \end{array} \]

            Alternative 19: 56.0% accurate, 2.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;C \leq -1.7 \cdot 10^{+65}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 9.6 \cdot 10^{+99}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{180}{\pi}\\ \end{array} \end{array} \]
            (FPCore (A B C)
             :precision binary64
             (if (<= C -1.7e+65)
               (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
               (if (<= C 9.6e+99)
                 (* 180.0 (/ (atan (- 1.0 (/ A B))) PI))
                 (* (atan (* -0.5 (/ B C))) (/ 180.0 PI)))))
            double code(double A, double B, double C) {
            	double tmp;
            	if (C <= -1.7e+65) {
            		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
            	} else if (C <= 9.6e+99) {
            		tmp = 180.0 * (atan((1.0 - (A / B))) / ((double) M_PI));
            	} else {
            		tmp = atan((-0.5 * (B / C))) * (180.0 / ((double) M_PI));
            	}
            	return tmp;
            }
            
            public static double code(double A, double B, double C) {
            	double tmp;
            	if (C <= -1.7e+65) {
            		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
            	} else if (C <= 9.6e+99) {
            		tmp = 180.0 * (Math.atan((1.0 - (A / B))) / Math.PI);
            	} else {
            		tmp = Math.atan((-0.5 * (B / C))) * (180.0 / Math.PI);
            	}
            	return tmp;
            }
            
            def code(A, B, C):
            	tmp = 0
            	if C <= -1.7e+65:
            		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
            	elif C <= 9.6e+99:
            		tmp = 180.0 * (math.atan((1.0 - (A / B))) / math.pi)
            	else:
            		tmp = math.atan((-0.5 * (B / C))) * (180.0 / math.pi)
            	return tmp
            
            function code(A, B, C)
            	tmp = 0.0
            	if (C <= -1.7e+65)
            		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
            	elseif (C <= 9.6e+99)
            		tmp = Float64(180.0 * Float64(atan(Float64(1.0 - Float64(A / B))) / pi));
            	else
            		tmp = Float64(atan(Float64(-0.5 * Float64(B / C))) * Float64(180.0 / pi));
            	end
            	return tmp
            end
            
            function tmp_2 = code(A, B, C)
            	tmp = 0.0;
            	if (C <= -1.7e+65)
            		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
            	elseif (C <= 9.6e+99)
            		tmp = 180.0 * (atan((1.0 - (A / B))) / pi);
            	else
            		tmp = atan((-0.5 * (B / C))) * (180.0 / pi);
            	end
            	tmp_2 = tmp;
            end
            
            code[A_, B_, C_] := If[LessEqual[C, -1.7e+65], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[C, 9.6e+99], N[(180.0 * N[(N[ArcTan[N[(1.0 - N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(N[ArcTan[N[(-0.5 * N[(B / C), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;C \leq -1.7 \cdot 10^{+65}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
            
            \mathbf{elif}\;C \leq 9.6 \cdot 10^{+99}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\
            
            \mathbf{else}:\\
            \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{180}{\pi}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if C < -1.7e65

              1. Initial program 77.3%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around -inf 73.7%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(2 \cdot \frac{C}{B}\right)}}{\pi} \]

              if -1.7e65 < C < 9.6000000000000005e99

              1. Initial program 56.5%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around 0 52.6%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
              3. Step-by-step derivation
                1. associate-*r/52.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                2. mul-1-neg52.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
                3. +-commutative52.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
                4. unpow252.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
                5. unpow252.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
                6. hypot-def81.5%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
              4. Simplified81.5%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
              5. Taylor expanded in B around -inf 52.0%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 + -1 \cdot \frac{A}{B}\right)}}{\pi} \]
              6. Step-by-step derivation
                1. mul-1-neg52.0%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(1 + \color{blue}{\left(-\frac{A}{B}\right)}\right)}{\pi} \]
                2. unsub-neg52.0%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]
              7. Simplified52.0%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(1 - \frac{A}{B}\right)}}{\pi} \]

              if 9.6000000000000005e99 < C

              1. Initial program 22.9%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Step-by-step derivation
                1. associate-*r/22.9%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
                2. associate-*l/22.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                3. *-un-lft-identity22.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
                4. unpow222.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
                5. unpow222.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
                6. hypot-def54.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
              3. Applied egg-rr54.7%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
              4. Taylor expanded in C around inf 44.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B} + -0.5 \cdot \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{B \cdot C}\right)}}{\pi} \]
              5. Step-by-step derivation
                1. +-commutative44.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{B \cdot C} + -1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
                2. fma-def44.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\mathsf{fma}\left(-0.5, \frac{\left({A}^{2} + {B}^{2}\right) - {\left(-1 \cdot A\right)}^{2}}{B \cdot C}, -1 \cdot \frac{A + -1 \cdot A}{B}\right)\right)}}{\pi} \]
              6. Simplified62.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\mathsf{fma}\left(-0.5, \frac{{B}^{2} + 0}{B \cdot C}, 0\right)\right)}}{\pi} \]
              7. Step-by-step derivation
                1. expm1-log1p-u62.2%

                  \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{180 \cdot \tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{{B}^{2} + 0}{B \cdot C}, 0\right)\right)}{\pi}\right)\right)} \]
                2. expm1-udef34.5%

                  \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{180 \cdot \tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{{B}^{2} + 0}{B \cdot C}, 0\right)\right)}{\pi}\right)} - 1} \]
              8. Applied egg-rr36.2%

                \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{180}{\frac{\pi}{\tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{B}{C}, 0\right)\right)}}\right)} - 1} \]
              9. Step-by-step derivation
                1. expm1-def77.0%

                  \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{180}{\frac{\pi}{\tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{B}{C}, 0\right)\right)}}\right)\right)} \]
                2. expm1-log1p77.4%

                  \[\leadsto \color{blue}{\frac{180}{\frac{\pi}{\tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{B}{C}, 0\right)\right)}}} \]
                3. associate-/r/77.4%

                  \[\leadsto \color{blue}{\frac{180}{\pi} \cdot \tan^{-1} \left(\mathsf{fma}\left(-0.5, \frac{B}{C}, 0\right)\right)} \]
                4. fma-udef77.4%

                  \[\leadsto \frac{180}{\pi} \cdot \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{B}{C} + 0\right)} \]
                5. +-rgt-identity77.4%

                  \[\leadsto \frac{180}{\pi} \cdot \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{B}{C}\right)} \]
              10. Simplified77.4%

                \[\leadsto \color{blue}{\frac{180}{\pi} \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right)} \]
            3. Recombined 3 regimes into one program.
            4. Final simplification60.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -1.7 \cdot 10^{+65}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 9.6 \cdot 10^{+99}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 - \frac{A}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{180}{\pi}\\ \end{array} \]

            Alternative 20: 59.6% accurate, 2.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -5.6 \cdot 10^{+45}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 2.1 \cdot 10^{-180}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\ \end{array} \end{array} \]
            (FPCore (A B C)
             :precision binary64
             (if (<= A -5.6e+45)
               (* (atan (* 0.5 (/ B A))) (/ 180.0 PI))
               (if (<= A 2.1e-180)
                 (/ (* 180.0 (atan (/ (+ B C) B))) PI)
                 (/ (* -180.0 (atan (/ (+ B A) B))) PI))))
            double code(double A, double B, double C) {
            	double tmp;
            	if (A <= -5.6e+45) {
            		tmp = atan((0.5 * (B / A))) * (180.0 / ((double) M_PI));
            	} else if (A <= 2.1e-180) {
            		tmp = (180.0 * atan(((B + C) / B))) / ((double) M_PI);
            	} else {
            		tmp = (-180.0 * atan(((B + A) / B))) / ((double) M_PI);
            	}
            	return tmp;
            }
            
            public static double code(double A, double B, double C) {
            	double tmp;
            	if (A <= -5.6e+45) {
            		tmp = Math.atan((0.5 * (B / A))) * (180.0 / Math.PI);
            	} else if (A <= 2.1e-180) {
            		tmp = (180.0 * Math.atan(((B + C) / B))) / Math.PI;
            	} else {
            		tmp = (-180.0 * Math.atan(((B + A) / B))) / Math.PI;
            	}
            	return tmp;
            }
            
            def code(A, B, C):
            	tmp = 0
            	if A <= -5.6e+45:
            		tmp = math.atan((0.5 * (B / A))) * (180.0 / math.pi)
            	elif A <= 2.1e-180:
            		tmp = (180.0 * math.atan(((B + C) / B))) / math.pi
            	else:
            		tmp = (-180.0 * math.atan(((B + A) / B))) / math.pi
            	return tmp
            
            function code(A, B, C)
            	tmp = 0.0
            	if (A <= -5.6e+45)
            		tmp = Float64(atan(Float64(0.5 * Float64(B / A))) * Float64(180.0 / pi));
            	elseif (A <= 2.1e-180)
            		tmp = Float64(Float64(180.0 * atan(Float64(Float64(B + C) / B))) / pi);
            	else
            		tmp = Float64(Float64(-180.0 * atan(Float64(Float64(B + A) / B))) / pi);
            	end
            	return tmp
            end
            
            function tmp_2 = code(A, B, C)
            	tmp = 0.0;
            	if (A <= -5.6e+45)
            		tmp = atan((0.5 * (B / A))) * (180.0 / pi);
            	elseif (A <= 2.1e-180)
            		tmp = (180.0 * atan(((B + C) / B))) / pi;
            	else
            		tmp = (-180.0 * atan(((B + A) / B))) / pi;
            	end
            	tmp_2 = tmp;
            end
            
            code[A_, B_, C_] := If[LessEqual[A, -5.6e+45], N[(N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(180.0 / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 2.1e-180], N[(N[(180.0 * N[ArcTan[N[(N[(B + C), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision], N[(N[(-180.0 * N[ArcTan[N[(N[(B + A), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;A \leq -5.6 \cdot 10^{+45}:\\
            \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\
            
            \mathbf{elif}\;A \leq 2.1 \cdot 10^{-180}:\\
            \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\
            
            \mathbf{else}:\\
            \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if A < -5.5999999999999999e45

              1. Initial program 17.4%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Step-by-step derivation
                1. associate-*r/17.4%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
                2. associate-*l/17.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                3. *-un-lft-identity17.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
                4. unpow217.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
                5. unpow217.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
                6. hypot-def49.4%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
              3. Applied egg-rr49.4%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
              4. Taylor expanded in A around -inf 73.2%

                \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(0.5 \cdot \frac{B}{A}\right)}}{\pi} \]
              5. Taylor expanded in B around 0 73.1%

                \[\leadsto \color{blue}{180 \cdot \frac{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
              6. Step-by-step derivation
                1. associate-*r/73.2%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}{\pi}} \]
                2. *-commutative73.2%

                  \[\leadsto \frac{\color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot 180}}{\pi} \]
                3. associate-*r/73.4%

                  \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]
              7. Simplified73.4%

                \[\leadsto \color{blue}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}} \]

              if -5.5999999999999999e45 < A < 2.0999999999999999e-180

              1. Initial program 51.7%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Step-by-step derivation
                1. associate-*r/51.7%

                  \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi}} \]
                2. associate-*l/51.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \color{blue}{\left(\frac{1 \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                3. *-un-lft-identity51.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}}}{B}\right)}{\pi} \]
                4. unpow251.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\color{blue}{\left(A - C\right) \cdot \left(A - C\right)} + {B}^{2}}}{B}\right)}{\pi} \]
                5. unpow251.7%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \sqrt{\left(A - C\right) \cdot \left(A - C\right) + \color{blue}{B \cdot B}}}{B}\right)}{\pi} \]
                6. hypot-def85.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \color{blue}{\mathsf{hypot}\left(A - C, B\right)}}{B}\right)}{\pi} \]
              3. Applied egg-rr85.9%

                \[\leadsto \color{blue}{\frac{180 \cdot \tan^{-1} \left(\frac{\left(C - A\right) - \mathsf{hypot}\left(A - C, B\right)}{B}\right)}{\pi}} \]
              4. Taylor expanded in A around 0 50.9%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{C - \sqrt{{B}^{2} + {C}^{2}}}}{B}\right)}{\pi} \]
              5. Step-by-step derivation
                1. unpow250.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \sqrt{\color{blue}{B \cdot B} + {C}^{2}}}{B}\right)}{\pi} \]
                2. unpow250.9%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \sqrt{B \cdot B + \color{blue}{C \cdot C}}}{B}\right)}{\pi} \]
                3. hypot-def84.5%

                  \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
              6. Simplified84.5%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{C - \mathsf{hypot}\left(B, C\right)}}{B}\right)}{\pi} \]
              7. Taylor expanded in B around -inf 60.4%

                \[\leadsto \frac{180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + C}}{B}\right)}{\pi} \]

              if 2.0999999999999999e-180 < A

              1. Initial program 74.1%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around 0 68.1%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + \sqrt{{A}^{2} + {B}^{2}}}{B}\right)}}{\pi} \]
              3. Step-by-step derivation
                1. associate-*r/68.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}{B}\right)}}{\pi} \]
                2. mul-1-neg68.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{-\left(A + \sqrt{{A}^{2} + {B}^{2}}\right)}}{B}\right)}{\pi} \]
                3. +-commutative68.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{{B}^{2} + {A}^{2}}}\right)}{B}\right)}{\pi} \]
                4. unpow268.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{\color{blue}{B \cdot B} + {A}^{2}}\right)}{B}\right)}{\pi} \]
                5. unpow268.1%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \sqrt{B \cdot B + \color{blue}{A \cdot A}}\right)}{B}\right)}{\pi} \]
                6. hypot-def78.5%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \color{blue}{\mathsf{hypot}\left(B, A\right)}\right)}{B}\right)}{\pi} \]
              4. Simplified78.5%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}}{\pi} \]
              5. Step-by-step derivation
                1. expm1-log1p-u30.7%

                  \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)\right)} \]
                2. expm1-udef30.7%

                  \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{\tan^{-1} \left(\frac{-\left(A + \mathsf{hypot}\left(B, A\right)\right)}{B}\right)}{\pi}\right)} - 1} \]
              6. Applied egg-rr30.7%

                \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)} - 1} \]
              7. Step-by-step derivation
                1. expm1-def30.7%

                  \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}\right)\right)} \]
                2. expm1-log1p78.5%

                  \[\leadsto \color{blue}{180 \cdot \frac{-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
                3. associate-*r/78.5%

                  \[\leadsto \color{blue}{\frac{180 \cdot \left(-\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)\right)}{\pi}} \]
                4. distribute-rgt-neg-out78.5%

                  \[\leadsto \frac{\color{blue}{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
                5. distribute-lft-neg-in78.5%

                  \[\leadsto \frac{\color{blue}{\left(-180\right) \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}}{\pi} \]
                6. metadata-eval78.5%

                  \[\leadsto \frac{\color{blue}{-180} \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi} \]
              8. Simplified78.5%

                \[\leadsto \color{blue}{\frac{-180 \cdot \tan^{-1} \left(\frac{A + \mathsf{hypot}\left(A, B\right)}{B}\right)}{\pi}} \]
              9. Taylor expanded in A around 0 69.5%

                \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{A + B}}{B}\right)}{\pi} \]
              10. Step-by-step derivation
                1. +-commutative69.5%

                  \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + A}}{B}\right)}{\pi} \]
              11. Simplified69.5%

                \[\leadsto \frac{-180 \cdot \tan^{-1} \left(\frac{\color{blue}{B + A}}{B}\right)}{\pi} \]
            3. Recombined 3 regimes into one program.
            4. Final simplification66.3%

              \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -5.6 \cdot 10^{+45}:\\ \;\;\;\;\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right) \cdot \frac{180}{\pi}\\ \mathbf{elif}\;A \leq 2.1 \cdot 10^{-180}:\\ \;\;\;\;\frac{180 \cdot \tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\frac{-180 \cdot \tan^{-1} \left(\frac{B + A}{B}\right)}{\pi}\\ \end{array} \]

            Alternative 21: 43.9% accurate, 2.5× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -5.7 \cdot 10^{-216}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 3.6 \cdot 10^{-176}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
            (FPCore (A B C)
             :precision binary64
             (if (<= B -5.7e-216)
               (* 180.0 (/ (atan 1.0) PI))
               (if (<= B 3.6e-176)
                 (* 180.0 (/ (atan (/ 0.0 B)) PI))
                 (* 180.0 (/ (atan -1.0) PI)))))
            double code(double A, double B, double C) {
            	double tmp;
            	if (B <= -5.7e-216) {
            		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
            	} else if (B <= 3.6e-176) {
            		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
            	} else {
            		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
            	}
            	return tmp;
            }
            
            public static double code(double A, double B, double C) {
            	double tmp;
            	if (B <= -5.7e-216) {
            		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
            	} else if (B <= 3.6e-176) {
            		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
            	} else {
            		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
            	}
            	return tmp;
            }
            
            def code(A, B, C):
            	tmp = 0
            	if B <= -5.7e-216:
            		tmp = 180.0 * (math.atan(1.0) / math.pi)
            	elif B <= 3.6e-176:
            		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
            	else:
            		tmp = 180.0 * (math.atan(-1.0) / math.pi)
            	return tmp
            
            function code(A, B, C)
            	tmp = 0.0
            	if (B <= -5.7e-216)
            		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
            	elseif (B <= 3.6e-176)
            		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
            	else
            		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
            	end
            	return tmp
            end
            
            function tmp_2 = code(A, B, C)
            	tmp = 0.0;
            	if (B <= -5.7e-216)
            		tmp = 180.0 * (atan(1.0) / pi);
            	elseif (B <= 3.6e-176)
            		tmp = 180.0 * (atan((0.0 / B)) / pi);
            	else
            		tmp = 180.0 * (atan(-1.0) / pi);
            	end
            	tmp_2 = tmp;
            end
            
            code[A_, B_, C_] := If[LessEqual[B, -5.7e-216], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 3.6e-176], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;B \leq -5.7 \cdot 10^{-216}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
            
            \mathbf{elif}\;B \leq 3.6 \cdot 10^{-176}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
            
            \mathbf{else}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if B < -5.70000000000000004e-216

              1. Initial program 53.6%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in B around -inf 51.8%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

              if -5.70000000000000004e-216 < B < 3.6000000000000003e-176

              1. Initial program 66.5%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in C around inf 39.6%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
              3. Step-by-step derivation
                1. associate-*r/39.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{-1 \cdot \left(A + -1 \cdot A\right)}{B}\right)}}{\pi} \]
                2. distribute-rgt1-in39.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot A\right)}}{B}\right)}{\pi} \]
                3. metadata-eval39.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \left(\color{blue}{0} \cdot A\right)}{B}\right)}{\pi} \]
                4. mul0-lft39.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{-1 \cdot \color{blue}{0}}{B}\right)}{\pi} \]
                5. metadata-eval39.6%

                  \[\leadsto 180 \cdot \frac{\tan^{-1} \left(\frac{\color{blue}{0}}{B}\right)}{\pi} \]
              4. Simplified39.6%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(\frac{0}{B}\right)}}{\pi} \]

              if 3.6000000000000003e-176 < B

              1. Initial program 50.6%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in B around inf 48.5%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
            3. Recombined 3 regimes into one program.
            4. Final simplification48.4%

              \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -5.7 \cdot 10^{-216}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 3.6 \cdot 10^{-176}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]

            Alternative 22: 40.3% accurate, 2.5× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -5 \cdot 10^{-310}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
            (FPCore (A B C)
             :precision binary64
             (if (<= B -5e-310) (* 180.0 (/ (atan 1.0) PI)) (* 180.0 (/ (atan -1.0) PI))))
            double code(double A, double B, double C) {
            	double tmp;
            	if (B <= -5e-310) {
            		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
            	} else {
            		tmp = 180.0 * (atan(-1.0) / ((double) M_PI));
            	}
            	return tmp;
            }
            
            public static double code(double A, double B, double C) {
            	double tmp;
            	if (B <= -5e-310) {
            		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
            	} else {
            		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
            	}
            	return tmp;
            }
            
            def code(A, B, C):
            	tmp = 0
            	if B <= -5e-310:
            		tmp = 180.0 * (math.atan(1.0) / math.pi)
            	else:
            		tmp = 180.0 * (math.atan(-1.0) / math.pi)
            	return tmp
            
            function code(A, B, C)
            	tmp = 0.0
            	if (B <= -5e-310)
            		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
            	else
            		tmp = Float64(180.0 * Float64(atan(-1.0) / pi));
            	end
            	return tmp
            end
            
            function tmp_2 = code(A, B, C)
            	tmp = 0.0;
            	if (B <= -5e-310)
            		tmp = 180.0 * (atan(1.0) / pi);
            	else
            		tmp = 180.0 * (atan(-1.0) / pi);
            	end
            	tmp_2 = tmp;
            end
            
            code[A_, B_, C_] := If[LessEqual[B, -5e-310], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;B \leq -5 \cdot 10^{-310}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
            
            \mathbf{else}:\\
            \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if B < -4.999999999999985e-310

              1. Initial program 55.7%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in B around -inf 47.1%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{1}}{\pi} \]

              if -4.999999999999985e-310 < B

              1. Initial program 53.5%

                \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
              2. Taylor expanded in B around inf 40.6%

                \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
            3. Recombined 2 regimes into one program.
            4. Final simplification43.7%

              \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -5 \cdot 10^{-310}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]

            Alternative 23: 21.4% accurate, 2.5× speedup?

            \[\begin{array}{l} \\ 180 \cdot \frac{\tan^{-1} -1}{\pi} \end{array} \]
            (FPCore (A B C) :precision binary64 (* 180.0 (/ (atan -1.0) PI)))
            double code(double A, double B, double C) {
            	return 180.0 * (atan(-1.0) / ((double) M_PI));
            }
            
            public static double code(double A, double B, double C) {
            	return 180.0 * (Math.atan(-1.0) / Math.PI);
            }
            
            def code(A, B, C):
            	return 180.0 * (math.atan(-1.0) / math.pi)
            
            function code(A, B, C)
            	return Float64(180.0 * Float64(atan(-1.0) / pi))
            end
            
            function tmp = code(A, B, C)
            	tmp = 180.0 * (atan(-1.0) / pi);
            end
            
            code[A_, B_, C_] := N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]
            
            \begin{array}{l}
            
            \\
            180 \cdot \frac{\tan^{-1} -1}{\pi}
            \end{array}
            
            Derivation
            1. Initial program 54.6%

              \[180 \cdot \frac{\tan^{-1} \left(\frac{1}{B} \cdot \left(\left(C - A\right) - \sqrt{{\left(A - C\right)}^{2} + {B}^{2}}\right)\right)}{\pi} \]
            2. Taylor expanded in B around inf 21.6%

              \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
            3. Final simplification21.6%

              \[\leadsto 180 \cdot \frac{\tan^{-1} -1}{\pi} \]

            Reproduce

            ?
            herbie shell --seed 2023338 
            (FPCore (A B C)
              :name "ABCF->ab-angle angle"
              :precision binary64
              (* 180.0 (/ (atan (* (/ 1.0 B) (- (- C A) (sqrt (+ (pow (- A C) 2.0) (pow B 2.0)))))) PI)))