ABCF->ab-angle angle

Percentage Accurate: 56.0% → 83.5%
Time: 21.2s
Alternatives: 14
Speedup: 3.6×

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 14 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: 56.0% 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: 83.5% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -3.4 \cdot 10^{+165}:\\ \;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}}\\ \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 -3.4e+165)
   (/ 1.0 (/ (/ PI 180.0) (atan (* 0.5 (/ B A)))))
   (/ (* 180.0 (atan (/ (- (- C A) (hypot (- A C) B)) B))) PI)))
double code(double A, double B, double C) {
	double tmp;
	if (A <= -3.4e+165) {
		tmp = 1.0 / ((((double) M_PI) / 180.0) / atan((0.5 * (B / A))));
	} 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 <= -3.4e+165) {
		tmp = 1.0 / ((Math.PI / 180.0) / Math.atan((0.5 * (B / A))));
	} 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 <= -3.4e+165:
		tmp = 1.0 / ((math.pi / 180.0) / math.atan((0.5 * (B / A))))
	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 <= -3.4e+165)
		tmp = Float64(1.0 / Float64(Float64(pi / 180.0) / atan(Float64(0.5 * Float64(B / A)))));
	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 <= -3.4e+165)
		tmp = 1.0 / ((pi / 180.0) / atan((0.5 * (B / A))));
	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, -3.4e+165], N[(1.0 / N[(N[(Pi / 180.0), $MachinePrecision] / N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $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 -3.4 \cdot 10^{+165}:\\
\;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}}\\

\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 < -3.40000000000000011e165

    1. Initial program 12.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. Add Preprocessing
    3. Applied egg-rr60.3%

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

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

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

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

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

    if -3.40000000000000011e165 < A

    1. Initial program 65.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. Add Preprocessing
    3. Step-by-step derivation
      1. associate-*r/65.3%

        \[\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/65.3%

        \[\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-identity65.3%

        \[\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. unpow265.3%

        \[\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. unpow265.3%

        \[\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-def89.0%

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

      \[\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 simplification88.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -3.4 \cdot 10^{+165}:\\ \;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}}\\ \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} \]
  5. Add Preprocessing

Alternative 2: 81.8% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;A \leq -9.5 \cdot 10^{+161}:\\ \;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}}\\ \mathbf{elif}\;A \leq 2 \cdot 10^{-184}:\\ \;\;\;\;\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{0.005555555555555556}}}\\ \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 -9.5e+161)
   (/ 1.0 (/ (/ PI 180.0) (atan (* 0.5 (/ B A)))))
   (if (<= A 2e-184)
     (/ 1.0 (/ PI (/ (atan (/ (- C (hypot B C)) B)) 0.005555555555555556)))
     (* 180.0 (/ (atan (/ (- C (+ A (hypot B (- A C)))) B)) PI)))))
double code(double A, double B, double C) {
	double tmp;
	if (A <= -9.5e+161) {
		tmp = 1.0 / ((((double) M_PI) / 180.0) / atan((0.5 * (B / A))));
	} else if (A <= 2e-184) {
		tmp = 1.0 / (((double) M_PI) / (atan(((C - hypot(B, C)) / B)) / 0.005555555555555556));
	} 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 <= -9.5e+161) {
		tmp = 1.0 / ((Math.PI / 180.0) / Math.atan((0.5 * (B / A))));
	} else if (A <= 2e-184) {
		tmp = 1.0 / (Math.PI / (Math.atan(((C - Math.hypot(B, C)) / B)) / 0.005555555555555556));
	} 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 <= -9.5e+161:
		tmp = 1.0 / ((math.pi / 180.0) / math.atan((0.5 * (B / A))))
	elif A <= 2e-184:
		tmp = 1.0 / (math.pi / (math.atan(((C - math.hypot(B, C)) / B)) / 0.005555555555555556))
	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 <= -9.5e+161)
		tmp = Float64(1.0 / Float64(Float64(pi / 180.0) / atan(Float64(0.5 * Float64(B / A)))));
	elseif (A <= 2e-184)
		tmp = Float64(1.0 / Float64(pi / Float64(atan(Float64(Float64(C - hypot(B, C)) / B)) / 0.005555555555555556)));
	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 <= -9.5e+161)
		tmp = 1.0 / ((pi / 180.0) / atan((0.5 * (B / A))));
	elseif (A <= 2e-184)
		tmp = 1.0 / (pi / (atan(((C - hypot(B, C)) / B)) / 0.005555555555555556));
	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, -9.5e+161], N[(1.0 / N[(N[(Pi / 180.0), $MachinePrecision] / N[ArcTan[N[(0.5 * N[(B / A), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[A, 2e-184], N[(1.0 / N[(Pi / N[(N[ArcTan[N[(N[(C - N[Sqrt[B ^ 2 + C ^ 2], $MachinePrecision]), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / 0.005555555555555556), $MachinePrecision]), $MachinePrecision]), $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 -9.5 \cdot 10^{+161}:\\
\;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}}\\

\mathbf{elif}\;A \leq 2 \cdot 10^{-184}:\\
\;\;\;\;\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{0.005555555555555556}}}\\

\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 3 regimes
  2. if A < -9.50000000000000061e161

    1. Initial program 12.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. Add Preprocessing
    3. Applied egg-rr60.3%

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

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

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

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

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

    if -9.50000000000000061e161 < A < 2.0000000000000001e-184

    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. Add Preprocessing
    3. Applied egg-rr83.4%

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\color{blue}{\pi \cdot \frac{1}{180}}}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(\frac{-1}{2}\right)} \]
      9. metadata-eval42.4%

        \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot \color{blue}{0.005555555555555556}}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(\frac{-1}{2}\right)} \]
      10. metadata-eval42.4%

        \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\color{blue}{-0.5}} \]
    7. Applied egg-rr42.4%

      \[\leadsto \color{blue}{{\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5}} \]
    8. Step-by-step derivation
      1. pow-sqr76.4%

        \[\leadsto \color{blue}{{\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(2 \cdot -0.5\right)}} \]
      2. metadata-eval76.4%

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

        \[\leadsto \color{blue}{\frac{1}{\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}}} \]
      4. associate-/l*76.4%

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

      \[\leadsto \color{blue}{\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}{0.005555555555555556}}}} \]
    10. Taylor expanded in A around 0 54.1%

      \[\leadsto \frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \color{blue}{\sqrt{{B}^{2} + {C}^{2}}}}{B}\right)}{0.005555555555555556}}} \]
    11. Step-by-step derivation
      1. unpow254.1%

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

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

        \[\leadsto \frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{0.005555555555555556}}} \]
    12. Simplified79.7%

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

    if 2.0000000000000001e-184 < 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. Step-by-step derivation
      1. Simplified95.5%

        \[\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. Add Preprocessing
    3. Recombined 3 regimes into one program.
    4. Final simplification86.4%

      \[\leadsto \begin{array}{l} \mathbf{if}\;A \leq -9.5 \cdot 10^{+161}:\\ \;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(0.5 \cdot \frac{B}{A}\right)}}\\ \mathbf{elif}\;A \leq 2 \cdot 10^{-184}:\\ \;\;\;\;\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{0.005555555555555556}}}\\ \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} \]
    5. Add Preprocessing

    Alternative 3: 78.9% accurate, 1.9× speedup?

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

      1. Initial program 84.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. Add Preprocessing
      3. Applied egg-rr95.0%

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\color{blue}{\pi \cdot \frac{1}{180}}}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(\frac{-1}{2}\right)} \]
        9. metadata-eval50.8%

          \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot \color{blue}{0.005555555555555556}}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(\frac{-1}{2}\right)} \]
        10. metadata-eval50.8%

          \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\color{blue}{-0.5}} \]
      7. Applied egg-rr50.8%

        \[\leadsto \color{blue}{{\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5}} \]
      8. Step-by-step derivation
        1. pow-sqr92.6%

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

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

          \[\leadsto \color{blue}{\frac{1}{\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}}} \]
        4. associate-/l*92.6%

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

        \[\leadsto \color{blue}{\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}{0.005555555555555556}}}} \]
      10. Taylor expanded in A around 0 84.4%

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

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

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

          \[\leadsto \frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{0.005555555555555556}}} \]
      12. Simplified90.8%

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

      if -1.3999999999999999e-17 < C < 1.8499999999999999e108

      1. Initial program 57.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. Add Preprocessing
      3. Applied egg-rr85.9%

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

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

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

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

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

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

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

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

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

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

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

      if 1.8499999999999999e108 < C

      1. Initial program 23.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. Add Preprocessing
      3. Taylor expanded in A around 0 23.1%

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{\color{blue}{\frac{1}{0.005555555555555556}}}{\pi} \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \]
        4. associate-/r*76.9%

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

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

          \[\leadsto \color{blue}{\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{1}{\pi \cdot 0.005555555555555556}} \]
        7. associate-*r/76.9%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5 \cdot B}{C}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        8. associate-/l*77.8%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5}{\frac{C}{B}}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        9. associate-/r/76.9%

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

          \[\leadsto \tan^{-1} \left(\frac{-0.5}{C} \cdot B\right) \cdot \frac{1}{\color{blue}{0.005555555555555556 \cdot \pi}} \]
        11. associate-/r*76.9%

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

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

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -1.4 \cdot 10^{-17}:\\ \;\;\;\;\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{0.005555555555555556}}}\\ \mathbf{elif}\;C \leq 1.85 \cdot 10^{+108}:\\ \;\;\;\;\frac{1}{\frac{\frac{\pi}{180}}{\tan^{-1} \left(\frac{\left(-A\right) - \mathsf{hypot}\left(B, A\right)}{B}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(B \cdot \frac{-0.5}{C}\right) \cdot \frac{180}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 4: 76.5% accurate, 1.9× speedup?

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

      1. Initial program 84.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. Add Preprocessing
      3. Taylor expanded in B around -inf 81.6%

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

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

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

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

      if -1.56000000000000002e-17 < C < 3.14999999999999977e105

      1. Initial program 57.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. Add Preprocessing
      3. Applied egg-rr85.9%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      if 3.14999999999999977e105 < C

      1. Initial program 23.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. Add Preprocessing
      3. Taylor expanded in A around 0 23.1%

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{\color{blue}{\frac{1}{0.005555555555555556}}}{\pi} \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \]
        4. associate-/r*76.9%

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

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

          \[\leadsto \color{blue}{\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{1}{\pi \cdot 0.005555555555555556}} \]
        7. associate-*r/76.9%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5 \cdot B}{C}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        8. associate-/l*77.8%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5}{\frac{C}{B}}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        9. associate-/r/76.9%

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

          \[\leadsto \tan^{-1} \left(\frac{-0.5}{C} \cdot B\right) \cdot \frac{1}{\color{blue}{0.005555555555555556 \cdot \pi}} \]
        11. associate-/r*76.9%

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

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

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -1.56 \cdot 10^{-17}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 3.15 \cdot 10^{+105}:\\ \;\;\;\;-180 \cdot \frac{\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(B, A\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(B \cdot \frac{-0.5}{C}\right) \cdot \frac{180}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 5: 78.9% accurate, 1.9× speedup?

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

      1. Initial program 84.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. Add Preprocessing
      3. Taylor expanded in A around 0 84.4%

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

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

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

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

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

      if -1.3999999999999999e-17 < C < 4.4000000000000003e108

      1. Initial program 57.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. Add Preprocessing
      3. Applied egg-rr85.9%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      if 4.4000000000000003e108 < C

      1. Initial program 23.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. Add Preprocessing
      3. Taylor expanded in A around 0 23.1%

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{\color{blue}{\frac{1}{0.005555555555555556}}}{\pi} \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \]
        4. associate-/r*76.9%

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

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

          \[\leadsto \color{blue}{\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{1}{\pi \cdot 0.005555555555555556}} \]
        7. associate-*r/76.9%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5 \cdot B}{C}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        8. associate-/l*77.8%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5}{\frac{C}{B}}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        9. associate-/r/76.9%

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

          \[\leadsto \tan^{-1} \left(\frac{-0.5}{C} \cdot B\right) \cdot \frac{1}{\color{blue}{0.005555555555555556 \cdot \pi}} \]
        11. associate-/r*76.9%

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

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

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -1.4 \cdot 10^{-17}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{\pi}\\ \mathbf{elif}\;C \leq 4.4 \cdot 10^{+108}:\\ \;\;\;\;-180 \cdot \frac{\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(B, A\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(B \cdot \frac{-0.5}{C}\right) \cdot \frac{180}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 6: 78.9% accurate, 1.9× speedup?

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

      1. Initial program 84.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. Add Preprocessing
      3. Applied egg-rr95.0%

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\color{blue}{\pi \cdot \frac{1}{180}}}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(\frac{-1}{2}\right)} \]
        9. metadata-eval50.8%

          \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot \color{blue}{0.005555555555555556}}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\left(\frac{-1}{2}\right)} \]
        10. metadata-eval50.8%

          \[\leadsto {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{\color{blue}{-0.5}} \]
      7. Applied egg-rr50.8%

        \[\leadsto \color{blue}{{\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5} \cdot {\left(\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}\right)}^{-0.5}} \]
      8. Step-by-step derivation
        1. pow-sqr92.6%

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

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

          \[\leadsto \color{blue}{\frac{1}{\frac{\pi \cdot 0.005555555555555556}{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}}} \]
        4. associate-/l*92.6%

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

        \[\leadsto \color{blue}{\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \left(A + \mathsf{hypot}\left(A - C, B\right)\right)}{B}\right)}{0.005555555555555556}}}} \]
      10. Taylor expanded in A around 0 84.4%

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

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

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

          \[\leadsto \frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \color{blue}{\mathsf{hypot}\left(B, C\right)}}{B}\right)}{0.005555555555555556}}} \]
      12. Simplified90.8%

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

      if -1.3999999999999999e-17 < C < 2.0499999999999999e99

      1. Initial program 57.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. Add Preprocessing
      3. Applied egg-rr85.9%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      if 2.0499999999999999e99 < C

      1. Initial program 23.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. Add Preprocessing
      3. Taylor expanded in A around 0 23.1%

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{\color{blue}{\frac{1}{0.005555555555555556}}}{\pi} \cdot \tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \]
        4. associate-/r*76.9%

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

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

          \[\leadsto \color{blue}{\tan^{-1} \left(-0.5 \cdot \frac{B}{C}\right) \cdot \frac{1}{\pi \cdot 0.005555555555555556}} \]
        7. associate-*r/76.9%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5 \cdot B}{C}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        8. associate-/l*77.8%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-0.5}{\frac{C}{B}}\right)} \cdot \frac{1}{\pi \cdot 0.005555555555555556} \]
        9. associate-/r/76.9%

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

          \[\leadsto \tan^{-1} \left(\frac{-0.5}{C} \cdot B\right) \cdot \frac{1}{\color{blue}{0.005555555555555556 \cdot \pi}} \]
        11. associate-/r*76.9%

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

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

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;C \leq -1.4 \cdot 10^{-17}:\\ \;\;\;\;\frac{1}{\frac{\pi}{\frac{\tan^{-1} \left(\frac{C - \mathsf{hypot}\left(B, C\right)}{B}\right)}{0.005555555555555556}}}\\ \mathbf{elif}\;C \leq 2.05 \cdot 10^{+99}:\\ \;\;\;\;-180 \cdot \frac{\tan^{-1} \left(\frac{A + \mathsf{hypot}\left(B, A\right)}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(B \cdot \frac{-0.5}{C}\right) \cdot \frac{180}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 7: 56.3% accurate, 3.1× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq 7.5 \cdot 10^{-290}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-36}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 8.6 \cdot 10^{+25}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-0.5 \cdot \frac{B}{A - C} + \frac{\left(C - A\right) \cdot 2}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \end{array} \]
    (FPCore (A B C)
     :precision binary64
     (if (<= B 7.5e-290)
       (* 180.0 (/ (atan (+ 1.0 (/ (- C A) B))) PI))
       (if (<= B 2.1e-36)
         (* 180.0 (/ (atan (/ 0.0 B)) PI))
         (if (<= B 8.6e+25)
           (* 180.0 (/ (atan (+ (* -0.5 (/ B (- A C))) (/ (* (- C A) 2.0) B))) PI))
           (* 180.0 (/ (atan -1.0) PI))))))
    double code(double A, double B, double C) {
    	double tmp;
    	if (B <= 7.5e-290) {
    		tmp = 180.0 * (atan((1.0 + ((C - A) / B))) / ((double) M_PI));
    	} else if (B <= 2.1e-36) {
    		tmp = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
    	} else if (B <= 8.6e+25) {
    		tmp = 180.0 * (atan(((-0.5 * (B / (A - C))) + (((C - A) * 2.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 <= 7.5e-290) {
    		tmp = 180.0 * (Math.atan((1.0 + ((C - A) / B))) / Math.PI);
    	} else if (B <= 2.1e-36) {
    		tmp = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
    	} else if (B <= 8.6e+25) {
    		tmp = 180.0 * (Math.atan(((-0.5 * (B / (A - C))) + (((C - A) * 2.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 <= 7.5e-290:
    		tmp = 180.0 * (math.atan((1.0 + ((C - A) / B))) / math.pi)
    	elif B <= 2.1e-36:
    		tmp = 180.0 * (math.atan((0.0 / B)) / math.pi)
    	elif B <= 8.6e+25:
    		tmp = 180.0 * (math.atan(((-0.5 * (B / (A - C))) + (((C - A) * 2.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 <= 7.5e-290)
    		tmp = Float64(180.0 * Float64(atan(Float64(1.0 + Float64(Float64(C - A) / B))) / pi));
    	elseif (B <= 2.1e-36)
    		tmp = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi));
    	elseif (B <= 8.6e+25)
    		tmp = Float64(180.0 * Float64(atan(Float64(Float64(-0.5 * Float64(B / Float64(A - C))) + Float64(Float64(Float64(C - A) * 2.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 <= 7.5e-290)
    		tmp = 180.0 * (atan((1.0 + ((C - A) / B))) / pi);
    	elseif (B <= 2.1e-36)
    		tmp = 180.0 * (atan((0.0 / B)) / pi);
    	elseif (B <= 8.6e+25)
    		tmp = 180.0 * (atan(((-0.5 * (B / (A - C))) + (((C - A) * 2.0) / B))) / pi);
    	else
    		tmp = 180.0 * (atan(-1.0) / pi);
    	end
    	tmp_2 = tmp;
    end
    
    code[A_, B_, C_] := If[LessEqual[B, 7.5e-290], N[(180.0 * N[(N[ArcTan[N[(1.0 + N[(N[(C - A), $MachinePrecision] / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 2.1e-36], N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 8.6e+25], N[(180.0 * N[(N[ArcTan[N[(N[(-0.5 * N[(B / N[(A - C), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(C - A), $MachinePrecision] * 2.0), $MachinePrecision] / B), $MachinePrecision]), $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 7.5 \cdot 10^{-290}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\
    
    \mathbf{elif}\;B \leq 2.1 \cdot 10^{-36}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
    
    \mathbf{elif}\;B \leq 8.6 \cdot 10^{+25}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-0.5 \cdot \frac{B}{A - C} + \frac{\left(C - A\right) \cdot 2}{B}\right)}{\pi}\\
    
    \mathbf{else}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 4 regimes
    2. if B < 7.4999999999999995e-290

      1. Initial program 64.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. Add Preprocessing
      3. Taylor expanded in B around -inf 72.2%

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

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

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

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

      if 7.4999999999999995e-290 < B < 2.09999999999999991e-36

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in C around inf 55.2%

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

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

          \[\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-eval55.2%

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

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

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

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

      if 2.09999999999999991e-36 < B < 8.59999999999999996e25

      1. Initial program 100.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. Add Preprocessing
      3. Taylor expanded in B around 0 81.9%

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

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

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

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

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

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

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

      if 8.59999999999999996e25 < B

      1. Initial program 49.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. Add Preprocessing
      3. Taylor expanded in B around inf 63.4%

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq 7.5 \cdot 10^{-290}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-36}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 8.6 \cdot 10^{+25}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-0.5 \cdot \frac{B}{A - C} + \frac{\left(C - A\right) \cdot 2}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 8: 46.5% accurate, 3.2× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ t_1 := 180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{if}\;B \leq -2.5 \cdot 10^{-54}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq -9.5 \cdot 10^{-182}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;B \leq -9 \cdot 10^{-274}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;B \leq -1.2 \cdot 10^{-293}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;B \leq 1.35 \cdot 10^{-33}:\\ \;\;\;\;t\_1\\ \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 (* -2.0 (/ A B))) PI)))
            (t_1 (* 180.0 (/ (atan (/ 0.0 B)) PI))))
       (if (<= B -2.5e-54)
         (* 180.0 (/ (atan 1.0) PI))
         (if (<= B -9.5e-182)
           t_0
           (if (<= B -9e-274)
             t_1
             (if (<= B -1.2e-293)
               t_0
               (if (<= B 1.35e-33) t_1 (* 180.0 (/ (atan -1.0) PI)))))))))
    double code(double A, double B, double C) {
    	double t_0 = 180.0 * (atan((-2.0 * (A / B))) / ((double) M_PI));
    	double t_1 = 180.0 * (atan((0.0 / B)) / ((double) M_PI));
    	double tmp;
    	if (B <= -2.5e-54) {
    		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
    	} else if (B <= -9.5e-182) {
    		tmp = t_0;
    	} else if (B <= -9e-274) {
    		tmp = t_1;
    	} else if (B <= -1.2e-293) {
    		tmp = t_0;
    	} else if (B <= 1.35e-33) {
    		tmp = t_1;
    	} 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((-2.0 * (A / B))) / Math.PI);
    	double t_1 = 180.0 * (Math.atan((0.0 / B)) / Math.PI);
    	double tmp;
    	if (B <= -2.5e-54) {
    		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
    	} else if (B <= -9.5e-182) {
    		tmp = t_0;
    	} else if (B <= -9e-274) {
    		tmp = t_1;
    	} else if (B <= -1.2e-293) {
    		tmp = t_0;
    	} else if (B <= 1.35e-33) {
    		tmp = t_1;
    	} else {
    		tmp = 180.0 * (Math.atan(-1.0) / Math.PI);
    	}
    	return tmp;
    }
    
    def code(A, B, C):
    	t_0 = 180.0 * (math.atan((-2.0 * (A / B))) / math.pi)
    	t_1 = 180.0 * (math.atan((0.0 / B)) / math.pi)
    	tmp = 0
    	if B <= -2.5e-54:
    		tmp = 180.0 * (math.atan(1.0) / math.pi)
    	elif B <= -9.5e-182:
    		tmp = t_0
    	elif B <= -9e-274:
    		tmp = t_1
    	elif B <= -1.2e-293:
    		tmp = t_0
    	elif B <= 1.35e-33:
    		tmp = t_1
    	else:
    		tmp = 180.0 * (math.atan(-1.0) / math.pi)
    	return tmp
    
    function code(A, B, C)
    	t_0 = Float64(180.0 * Float64(atan(Float64(-2.0 * Float64(A / B))) / pi))
    	t_1 = Float64(180.0 * Float64(atan(Float64(0.0 / B)) / pi))
    	tmp = 0.0
    	if (B <= -2.5e-54)
    		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
    	elseif (B <= -9.5e-182)
    		tmp = t_0;
    	elseif (B <= -9e-274)
    		tmp = t_1;
    	elseif (B <= -1.2e-293)
    		tmp = t_0;
    	elseif (B <= 1.35e-33)
    		tmp = t_1;
    	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((-2.0 * (A / B))) / pi);
    	t_1 = 180.0 * (atan((0.0 / B)) / pi);
    	tmp = 0.0;
    	if (B <= -2.5e-54)
    		tmp = 180.0 * (atan(1.0) / pi);
    	elseif (B <= -9.5e-182)
    		tmp = t_0;
    	elseif (B <= -9e-274)
    		tmp = t_1;
    	elseif (B <= -1.2e-293)
    		tmp = t_0;
    	elseif (B <= 1.35e-33)
    		tmp = t_1;
    	else
    		tmp = 180.0 * (atan(-1.0) / pi);
    	end
    	tmp_2 = tmp;
    end
    
    code[A_, B_, C_] := Block[{t$95$0 = N[(180.0 * N[(N[ArcTan[N[(-2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(180.0 * N[(N[ArcTan[N[(0.0 / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[B, -2.5e-54], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, -9.5e-182], t$95$0, If[LessEqual[B, -9e-274], t$95$1, If[LessEqual[B, -1.2e-293], t$95$0, If[LessEqual[B, 1.35e-33], t$95$1, N[(180.0 * N[(N[ArcTan[-1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]]]]]]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := 180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\
    t_1 := 180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\
    \mathbf{if}\;B \leq -2.5 \cdot 10^{-54}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
    
    \mathbf{elif}\;B \leq -9.5 \cdot 10^{-182}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;B \leq -9 \cdot 10^{-274}:\\
    \;\;\;\;t\_1\\
    
    \mathbf{elif}\;B \leq -1.2 \cdot 10^{-293}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;B \leq 1.35 \cdot 10^{-33}:\\
    \;\;\;\;t\_1\\
    
    \mathbf{else}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 4 regimes
    2. if B < -2.50000000000000008e-54

      1. Initial program 59.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. Add Preprocessing
      3. Taylor expanded in B around -inf 58.0%

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

      if -2.50000000000000008e-54 < B < -9.4999999999999994e-182 or -8.99999999999999982e-274 < B < -1.2e-293

      1. Initial program 75.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. Add Preprocessing
      3. Taylor expanded in A around inf 61.2%

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

      if -9.4999999999999994e-182 < B < -8.99999999999999982e-274 or -1.2e-293 < B < 1.35e-33

      1. Initial program 59.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. Add Preprocessing
      3. Taylor expanded in C around inf 50.6%

        \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{\left(-1 \cdot \frac{A + -1 \cdot A}{B}\right)}}{\pi} \]
      4. Step-by-step derivation
        1. associate-*r/50.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-in50.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-eval50.6%

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

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

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

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

      if 1.35e-33 < B

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in B around inf 60.5%

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -2.5 \cdot 10^{-54}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq -9.5 \cdot 10^{-182}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq -9 \cdot 10^{-274}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq -1.2 \cdot 10^{-293}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 1.35 \cdot 10^{-33}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 9: 49.6% accurate, 3.3× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 180 \cdot \frac{\tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{if}\;B \leq -8.5 \cdot 10^{-55}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;B \leq -4.9 \cdot 10^{-163}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4.5 \cdot 10^{-291}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;B \leq 2.2 \cdot 10^{-36}:\\ \;\;\;\;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
     (let* ((t_0 (* 180.0 (/ (atan (/ (+ B C) B)) PI))))
       (if (<= B -8.5e-55)
         t_0
         (if (<= B -4.9e-163)
           (* 180.0 (/ (atan (* -2.0 (/ A B))) PI))
           (if (<= B 4.5e-291)
             t_0
             (if (<= B 2.2e-36)
               (* 180.0 (/ (atan (/ 0.0 B)) PI))
               (* 180.0 (/ (atan -1.0) PI))))))))
    double code(double A, double B, double C) {
    	double t_0 = 180.0 * (atan(((B + C) / B)) / ((double) M_PI));
    	double tmp;
    	if (B <= -8.5e-55) {
    		tmp = t_0;
    	} else if (B <= -4.9e-163) {
    		tmp = 180.0 * (atan((-2.0 * (A / B))) / ((double) M_PI));
    	} else if (B <= 4.5e-291) {
    		tmp = t_0;
    	} else if (B <= 2.2e-36) {
    		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 t_0 = 180.0 * (Math.atan(((B + C) / B)) / Math.PI);
    	double tmp;
    	if (B <= -8.5e-55) {
    		tmp = t_0;
    	} else if (B <= -4.9e-163) {
    		tmp = 180.0 * (Math.atan((-2.0 * (A / B))) / Math.PI);
    	} else if (B <= 4.5e-291) {
    		tmp = t_0;
    	} else if (B <= 2.2e-36) {
    		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):
    	t_0 = 180.0 * (math.atan(((B + C) / B)) / math.pi)
    	tmp = 0
    	if B <= -8.5e-55:
    		tmp = t_0
    	elif B <= -4.9e-163:
    		tmp = 180.0 * (math.atan((-2.0 * (A / B))) / math.pi)
    	elif B <= 4.5e-291:
    		tmp = t_0
    	elif B <= 2.2e-36:
    		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)
    	t_0 = Float64(180.0 * Float64(atan(Float64(Float64(B + C) / B)) / pi))
    	tmp = 0.0
    	if (B <= -8.5e-55)
    		tmp = t_0;
    	elseif (B <= -4.9e-163)
    		tmp = Float64(180.0 * Float64(atan(Float64(-2.0 * Float64(A / B))) / pi));
    	elseif (B <= 4.5e-291)
    		tmp = t_0;
    	elseif (B <= 2.2e-36)
    		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)
    	t_0 = 180.0 * (atan(((B + C) / B)) / pi);
    	tmp = 0.0;
    	if (B <= -8.5e-55)
    		tmp = t_0;
    	elseif (B <= -4.9e-163)
    		tmp = 180.0 * (atan((-2.0 * (A / B))) / pi);
    	elseif (B <= 4.5e-291)
    		tmp = t_0;
    	elseif (B <= 2.2e-36)
    		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_] := Block[{t$95$0 = N[(180.0 * N[(N[ArcTan[N[(N[(B + C), $MachinePrecision] / B), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[B, -8.5e-55], t$95$0, If[LessEqual[B, -4.9e-163], N[(180.0 * N[(N[ArcTan[N[(-2.0 * N[(A / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 4.5e-291], t$95$0, If[LessEqual[B, 2.2e-36], 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}
    t_0 := 180 \cdot \frac{\tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\
    \mathbf{if}\;B \leq -8.5 \cdot 10^{-55}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;B \leq -4.9 \cdot 10^{-163}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\
    
    \mathbf{elif}\;B \leq 4.5 \cdot 10^{-291}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;B \leq 2.2 \cdot 10^{-36}:\\
    \;\;\;\;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 4 regimes
    2. if B < -8.49999999999999968e-55 or -4.9000000000000003e-163 < B < 4.49999999999999974e-291

      1. Initial program 63.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. Add Preprocessing
      3. Taylor expanded in A around 0 58.4%

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

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

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

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

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

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

      if -8.49999999999999968e-55 < B < -4.9000000000000003e-163

      1. Initial program 69.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. Add Preprocessing
      3. Taylor expanded in A around inf 54.1%

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

      if 4.49999999999999974e-291 < B < 2.1999999999999999e-36

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in C around inf 55.2%

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

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

          \[\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-eval55.2%

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

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

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

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

      if 2.1999999999999999e-36 < B

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in B around inf 60.5%

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -8.5 \cdot 10^{-55}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq -4.9 \cdot 10^{-163}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(-2 \cdot \frac{A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4.5 \cdot 10^{-291}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{B + C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.2 \cdot 10^{-36}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 10: 46.1% accurate, 3.4× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -8.2 \cdot 10^{-15}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-290}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-36}:\\ \;\;\;\;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 -8.2e-15)
       (* 180.0 (/ (atan 1.0) PI))
       (if (<= B 2.1e-290)
         (* 180.0 (/ (atan (* 2.0 (/ C B))) PI))
         (if (<= B 2.1e-36)
           (* 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 <= -8.2e-15) {
    		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
    	} else if (B <= 2.1e-290) {
    		tmp = 180.0 * (atan((2.0 * (C / B))) / ((double) M_PI));
    	} else if (B <= 2.1e-36) {
    		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 <= -8.2e-15) {
    		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
    	} else if (B <= 2.1e-290) {
    		tmp = 180.0 * (Math.atan((2.0 * (C / B))) / Math.PI);
    	} else if (B <= 2.1e-36) {
    		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 <= -8.2e-15:
    		tmp = 180.0 * (math.atan(1.0) / math.pi)
    	elif B <= 2.1e-290:
    		tmp = 180.0 * (math.atan((2.0 * (C / B))) / math.pi)
    	elif B <= 2.1e-36:
    		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 <= -8.2e-15)
    		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
    	elseif (B <= 2.1e-290)
    		tmp = Float64(180.0 * Float64(atan(Float64(2.0 * Float64(C / B))) / pi));
    	elseif (B <= 2.1e-36)
    		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 <= -8.2e-15)
    		tmp = 180.0 * (atan(1.0) / pi);
    	elseif (B <= 2.1e-290)
    		tmp = 180.0 * (atan((2.0 * (C / B))) / pi);
    	elseif (B <= 2.1e-36)
    		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, -8.2e-15], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 2.1e-290], N[(180.0 * N[(N[ArcTan[N[(2.0 * N[(C / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 2.1e-36], 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 -8.2 \cdot 10^{-15}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
    
    \mathbf{elif}\;B \leq 2.1 \cdot 10^{-290}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\
    
    \mathbf{elif}\;B \leq 2.1 \cdot 10^{-36}:\\
    \;\;\;\;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 4 regimes
    2. if B < -8.20000000000000072e-15

      1. Initial program 58.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. Add Preprocessing
      3. Taylor expanded in B around -inf 61.8%

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

      if -8.20000000000000072e-15 < B < 2.1000000000000001e-290

      1. Initial program 71.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. Add Preprocessing
      3. Taylor expanded in C around -inf 49.0%

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

      if 2.1000000000000001e-290 < B < 2.09999999999999991e-36

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in C around inf 55.2%

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

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

          \[\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-eval55.2%

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

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

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

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

      if 2.09999999999999991e-36 < B

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in B around inf 60.5%

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -8.2 \cdot 10^{-15}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-290}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(2 \cdot \frac{C}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 2.1 \cdot 10^{-36}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 11: 46.4% accurate, 3.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq -1.55 \cdot 10^{-43}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 6.5 \cdot 10^{-32}:\\ \;\;\;\;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 -1.55e-43)
       (* 180.0 (/ (atan 1.0) PI))
       (if (<= B 6.5e-32)
         (* 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 <= -1.55e-43) {
    		tmp = 180.0 * (atan(1.0) / ((double) M_PI));
    	} else if (B <= 6.5e-32) {
    		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 <= -1.55e-43) {
    		tmp = 180.0 * (Math.atan(1.0) / Math.PI);
    	} else if (B <= 6.5e-32) {
    		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 <= -1.55e-43:
    		tmp = 180.0 * (math.atan(1.0) / math.pi)
    	elif B <= 6.5e-32:
    		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 <= -1.55e-43)
    		tmp = Float64(180.0 * Float64(atan(1.0) / pi));
    	elseif (B <= 6.5e-32)
    		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 <= -1.55e-43)
    		tmp = 180.0 * (atan(1.0) / pi);
    	elseif (B <= 6.5e-32)
    		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, -1.55e-43], N[(180.0 * N[(N[ArcTan[1.0], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 6.5e-32], 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 -1.55 \cdot 10^{-43}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\
    
    \mathbf{elif}\;B \leq 6.5 \cdot 10^{-32}:\\
    \;\;\;\;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 < -1.55e-43

      1. Initial program 59.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. Add Preprocessing
      3. Taylor expanded in B around -inf 59.3%

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

      if -1.55e-43 < B < 6.49999999999999988e-32

      1. Initial program 63.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. Add Preprocessing
      3. Taylor expanded in C around inf 41.4%

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

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

          \[\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-eval41.4%

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

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

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

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

      if 6.49999999999999988e-32 < B

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in B around inf 60.5%

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq -1.55 \cdot 10^{-43}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} 1}{\pi}\\ \mathbf{elif}\;B \leq 6.5 \cdot 10^{-32}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 12: 56.1% accurate, 3.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;B \leq 3.2 \cdot 10^{-289}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4 \cdot 10^{-36}:\\ \;\;\;\;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 3.2e-289)
       (* 180.0 (/ (atan (+ 1.0 (/ (- C A) B))) PI))
       (if (<= B 4e-36)
         (* 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 <= 3.2e-289) {
    		tmp = 180.0 * (atan((1.0 + ((C - A) / B))) / ((double) M_PI));
    	} else if (B <= 4e-36) {
    		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 <= 3.2e-289) {
    		tmp = 180.0 * (Math.atan((1.0 + ((C - A) / B))) / Math.PI);
    	} else if (B <= 4e-36) {
    		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 <= 3.2e-289:
    		tmp = 180.0 * (math.atan((1.0 + ((C - A) / B))) / math.pi)
    	elif B <= 4e-36:
    		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 <= 3.2e-289)
    		tmp = Float64(180.0 * Float64(atan(Float64(1.0 + Float64(Float64(C - A) / B))) / pi));
    	elseif (B <= 4e-36)
    		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 <= 3.2e-289)
    		tmp = 180.0 * (atan((1.0 + ((C - A) / B))) / pi);
    	elseif (B <= 4e-36)
    		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, 3.2e-289], N[(180.0 * N[(N[ArcTan[N[(1.0 + N[(N[(C - A), $MachinePrecision] / B), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision], If[LessEqual[B, 4e-36], 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 3.2 \cdot 10^{-289}:\\
    \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\
    
    \mathbf{elif}\;B \leq 4 \cdot 10^{-36}:\\
    \;\;\;\;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 < 3.2000000000000002e-289

      1. Initial program 64.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. Add Preprocessing
      3. Taylor expanded in B around -inf 72.2%

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

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

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

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

      if 3.2000000000000002e-289 < B < 3.9999999999999998e-36

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in C around inf 55.2%

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

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

          \[\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-eval55.2%

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

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

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

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

      if 3.9999999999999998e-36 < B

      1. Initial program 54.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. Add Preprocessing
      3. Taylor expanded in B around inf 60.5%

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

      \[\leadsto \begin{array}{l} \mathbf{if}\;B \leq 3.2 \cdot 10^{-289}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(1 + \frac{C - A}{B}\right)}{\pi}\\ \mathbf{elif}\;B \leq 4 \cdot 10^{-36}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} \left(\frac{0}{B}\right)}{\pi}\\ \mathbf{else}:\\ \;\;\;\;180 \cdot \frac{\tan^{-1} -1}{\pi}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 13: 39.7% accurate, 3.8× 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 63.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. Add Preprocessing
      3. Taylor expanded in B around -inf 40.3%

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

      if -4.999999999999985e-310 < B

      1. Initial program 55.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. Add Preprocessing
      3. Taylor expanded in B around inf 41.5%

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

      \[\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} \]
    5. Add Preprocessing

    Alternative 14: 21.0% accurate, 4.0× 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 59.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. Add Preprocessing
    3. Taylor expanded in B around inf 22.3%

      \[\leadsto 180 \cdot \frac{\tan^{-1} \color{blue}{-1}}{\pi} \]
    4. Final simplification22.3%

      \[\leadsto 180 \cdot \frac{\tan^{-1} -1}{\pi} \]
    5. Add Preprocessing

    Reproduce

    ?
    herbie shell --seed 2024031 
    (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)))