(atan (* (tan (* (- (+ z2 z2) -1/2) PI)) (/ z0 z1)))

Percentage Accurate: 31.5% → 98.6%
Time: 5.2s
Alternatives: 11
Speedup: 1.8×

Specification

?
\[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
(FPCore (z2 z0 z1)
  :precision binary64
  (atan (* (tan (* (- (+ z2 z2) -0.5) PI)) (/ z0 z1))))
double code(double z2, double z0, double z1) {
	return atan((tan((((z2 + z2) - -0.5) * ((double) M_PI))) * (z0 / z1)));
}
public static double code(double z2, double z0, double z1) {
	return Math.atan((Math.tan((((z2 + z2) - -0.5) * Math.PI)) * (z0 / z1)));
}
def code(z2, z0, z1):
	return math.atan((math.tan((((z2 + z2) - -0.5) * math.pi)) * (z0 / z1)))
function code(z2, z0, z1)
	return atan(Float64(tan(Float64(Float64(Float64(z2 + z2) - -0.5) * pi)) * Float64(z0 / z1)))
end
function tmp = code(z2, z0, z1)
	tmp = atan((tan((((z2 + z2) - -0.5) * pi)) * (z0 / z1)));
end
code[z2_, z0_, z1_] := N[ArcTan[N[(N[Tan[N[(N[(N[(z2 + z2), $MachinePrecision] - -0.5), $MachinePrecision] * Pi), $MachinePrecision]], $MachinePrecision] * N[(z0 / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)

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 11 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: 31.5% accurate, 1.0× speedup?

\[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
(FPCore (z2 z0 z1)
  :precision binary64
  (atan (* (tan (* (- (+ z2 z2) -0.5) PI)) (/ z0 z1))))
double code(double z2, double z0, double z1) {
	return atan((tan((((z2 + z2) - -0.5) * ((double) M_PI))) * (z0 / z1)));
}
public static double code(double z2, double z0, double z1) {
	return Math.atan((Math.tan((((z2 + z2) - -0.5) * Math.PI)) * (z0 / z1)));
}
def code(z2, z0, z1):
	return math.atan((math.tan((((z2 + z2) - -0.5) * math.pi)) * (z0 / z1)))
function code(z2, z0, z1)
	return atan(Float64(tan(Float64(Float64(Float64(z2 + z2) - -0.5) * pi)) * Float64(z0 / z1)))
end
function tmp = code(z2, z0, z1)
	tmp = atan((tan((((z2 + z2) - -0.5) * pi)) * (z0 / z1)));
end
code[z2_, z0_, z1_] := N[ArcTan[N[(N[Tan[N[(N[(N[(z2 + z2), $MachinePrecision] - -0.5), $MachinePrecision] * Pi), $MachinePrecision]], $MachinePrecision] * N[(z0 / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)

Alternative 1: 98.6% accurate, 0.3× speedup?

\[\begin{array}{l} t_0 := \left(\frac{z2 - -0.5}{z2} \cdot 1\right) \cdot \left(z2 \cdot \pi\right)\\ t_1 := \frac{\pi + \pi}{0}\\ \mathbf{if}\;z2 \leq -2650000000:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - t\_1\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 0.0066:\\ \;\;\;\;\tan^{-1} \left(\frac{\left(\sin t\_0 \cdot \cos \left(z2 \cdot \pi\right) + \cos t\_0 \cdot \sin \left(z2 \cdot \pi\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(t\_1 + \left(\pi + \pi\right)\right)\right)}{z1}\right)\\ \end{array} \]
(FPCore (z2 z0 z1)
  :precision binary64
  (let* ((t_0 (* (* (/ (- z2 -0.5) z2) 1.0) (* z2 PI)))
       (t_1 (/ (+ PI PI) 0.0)))
  (if (<= z2 -2650000000.0)
    (atan
     (-
      (* (* (- (+ PI PI) t_1) (/ z2 z1)) z0)
      (* (/ -1.0 (* 0.0 z1)) z0)))
    (if (<= z2 0.0066)
      (atan
       (/
        (*
         (+
          (* (sin t_0) (cos (* z2 PI)))
          (* (cos t_0) (sin (* z2 PI))))
         z0)
        (* (- (sin (* PI (+ z2 z2)))) z1)))
      (atan
       (+
        (/ (* z0 (sin (* 0.5 PI))) (* z1 (cos (* 0.5 PI))))
        (/ (* z0 (* z2 (+ t_1 (+ PI PI)))) z1)))))))
double code(double z2, double z0, double z1) {
	double t_0 = (((z2 - -0.5) / z2) * 1.0) * (z2 * ((double) M_PI));
	double t_1 = (((double) M_PI) + ((double) M_PI)) / 0.0;
	double tmp;
	if (z2 <= -2650000000.0) {
		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - t_1) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	} else if (z2 <= 0.0066) {
		tmp = atan(((((sin(t_0) * cos((z2 * ((double) M_PI)))) + (cos(t_0) * sin((z2 * ((double) M_PI))))) * z0) / (-sin((((double) M_PI) * (z2 + z2))) * z1)));
	} else {
		tmp = atan((((z0 * sin((0.5 * ((double) M_PI)))) / (z1 * cos((0.5 * ((double) M_PI))))) + ((z0 * (z2 * (t_1 + (((double) M_PI) + ((double) M_PI))))) / z1)));
	}
	return tmp;
}
public static double code(double z2, double z0, double z1) {
	double t_0 = (((z2 - -0.5) / z2) * 1.0) * (z2 * Math.PI);
	double t_1 = (Math.PI + Math.PI) / 0.0;
	double tmp;
	if (z2 <= -2650000000.0) {
		tmp = Math.atan((((((Math.PI + Math.PI) - t_1) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	} else if (z2 <= 0.0066) {
		tmp = Math.atan(((((Math.sin(t_0) * Math.cos((z2 * Math.PI))) + (Math.cos(t_0) * Math.sin((z2 * Math.PI)))) * z0) / (-Math.sin((Math.PI * (z2 + z2))) * z1)));
	} else {
		tmp = Math.atan((((z0 * Math.sin((0.5 * Math.PI))) / (z1 * Math.cos((0.5 * Math.PI)))) + ((z0 * (z2 * (t_1 + (Math.PI + Math.PI)))) / z1)));
	}
	return tmp;
}
def code(z2, z0, z1):
	t_0 = (((z2 - -0.5) / z2) * 1.0) * (z2 * math.pi)
	t_1 = (math.pi + math.pi) / 0.0
	tmp = 0
	if z2 <= -2650000000.0:
		tmp = math.atan((((((math.pi + math.pi) - t_1) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
	elif z2 <= 0.0066:
		tmp = math.atan(((((math.sin(t_0) * math.cos((z2 * math.pi))) + (math.cos(t_0) * math.sin((z2 * math.pi)))) * z0) / (-math.sin((math.pi * (z2 + z2))) * z1)))
	else:
		tmp = math.atan((((z0 * math.sin((0.5 * math.pi))) / (z1 * math.cos((0.5 * math.pi)))) + ((z0 * (z2 * (t_1 + (math.pi + math.pi)))) / z1)))
	return tmp
function code(z2, z0, z1)
	t_0 = Float64(Float64(Float64(Float64(z2 - -0.5) / z2) * 1.0) * Float64(z2 * pi))
	t_1 = Float64(Float64(pi + pi) / 0.0)
	tmp = 0.0
	if (z2 <= -2650000000.0)
		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - t_1) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
	elseif (z2 <= 0.0066)
		tmp = atan(Float64(Float64(Float64(Float64(sin(t_0) * cos(Float64(z2 * pi))) + Float64(cos(t_0) * sin(Float64(z2 * pi)))) * z0) / Float64(Float64(-sin(Float64(pi * Float64(z2 + z2)))) * z1)));
	else
		tmp = atan(Float64(Float64(Float64(z0 * sin(Float64(0.5 * pi))) / Float64(z1 * cos(Float64(0.5 * pi)))) + Float64(Float64(z0 * Float64(z2 * Float64(t_1 + Float64(pi + pi)))) / z1)));
	end
	return tmp
end
function tmp_2 = code(z2, z0, z1)
	t_0 = (((z2 - -0.5) / z2) * 1.0) * (z2 * pi);
	t_1 = (pi + pi) / 0.0;
	tmp = 0.0;
	if (z2 <= -2650000000.0)
		tmp = atan((((((pi + pi) - t_1) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	elseif (z2 <= 0.0066)
		tmp = atan(((((sin(t_0) * cos((z2 * pi))) + (cos(t_0) * sin((z2 * pi)))) * z0) / (-sin((pi * (z2 + z2))) * z1)));
	else
		tmp = atan((((z0 * sin((0.5 * pi))) / (z1 * cos((0.5 * pi)))) + ((z0 * (z2 * (t_1 + (pi + pi)))) / z1)));
	end
	tmp_2 = tmp;
end
code[z2_, z0_, z1_] := Block[{t$95$0 = N[(N[(N[(N[(z2 - -0.5), $MachinePrecision] / z2), $MachinePrecision] * 1.0), $MachinePrecision] * N[(z2 * Pi), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]}, If[LessEqual[z2, -2650000000.0], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - t$95$1), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 0.0066], N[ArcTan[N[(N[(N[(N[(N[Sin[t$95$0], $MachinePrecision] * N[Cos[N[(z2 * Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] + N[(N[Cos[t$95$0], $MachinePrecision] * N[Sin[N[(z2 * Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] / N[((-N[Sin[N[(Pi * N[(z2 + z2), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]) * z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(N[(N[(z0 * N[Sin[N[(0.5 * Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(z1 * N[Cos[N[(0.5 * Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z0 * N[(z2 * N[(t$95$1 + N[(Pi + Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]]
\begin{array}{l}
t_0 := \left(\frac{z2 - -0.5}{z2} \cdot 1\right) \cdot \left(z2 \cdot \pi\right)\\
t_1 := \frac{\pi + \pi}{0}\\
\mathbf{if}\;z2 \leq -2650000000:\\
\;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - t\_1\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\

\mathbf{elif}\;z2 \leq 0.0066:\\
\;\;\;\;\tan^{-1} \left(\frac{\left(\sin t\_0 \cdot \cos \left(z2 \cdot \pi\right) + \cos t\_0 \cdot \sin \left(z2 \cdot \pi\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)\\

\mathbf{else}:\\
\;\;\;\;\tan^{-1} \left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(t\_1 + \left(\pi + \pi\right)\right)\right)}{z1}\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z2 < -2.65e9

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Taylor expanded in z2 around 0

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
    4. Applied rewrites33.3%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    5. Applied rewrites38.8%

      \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

    if -2.65e9 < z2 < 0.0066

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
      2. lift-tan.f64N/A

        \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
      3. tan-quotN/A

        \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
      4. lift-/.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
      5. frac-timesN/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
      6. lower-/.f64N/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
    3. Applied rewrites64.9%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
    4. Applied rewrites52.7%

      \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\left(\sin \left(\left(\frac{z2 - -0.5}{z2} \cdot 1\right) \cdot \left(z2 \cdot \pi\right)\right) \cdot \cos \left(z2 \cdot \pi\right) + \cos \left(\left(\frac{z2 - -0.5}{z2} \cdot 1\right) \cdot \left(z2 \cdot \pi\right)\right) \cdot \sin \left(z2 \cdot \pi\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]

    if 0.0066 < z2

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Taylor expanded in z2 around 0

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
    4. Applied rewrites33.3%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    5. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right) \]
      2. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right) \]
      3. fp-cancel-sub-sign-invN/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi + \left(\mathsf{neg}\left(-2\right)\right) \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right) \]
      4. +-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(\left(\mathsf{neg}\left(-2\right)\right) \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}} + 2 \cdot \pi\right)\right)}{z1}\right) \]
      5. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(\left(\mathsf{neg}\left(-2\right)\right) \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}} + 2 \cdot \pi\right)\right)}{z1}\right) \]
    6. Applied rewrites25.4%

      \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(\frac{\pi + \pi}{0} + \left(\pi + \pi\right)\right)\right)}{z1}\right) \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 2: 98.4% accurate, 0.6× speedup?

\[\begin{array}{l} t_0 := \frac{\pi + \pi}{0}\\ \mathbf{if}\;z2 \leq -1.6 \cdot 10^{+16}:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - t\_0\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 0.0066:\\ \;\;\;\;\tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(\left(-0.5 - z2\right) - z2\right) + \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(t\_0 + \left(\pi + \pi\right)\right)\right)}{z1}\right)\\ \end{array} \]
(FPCore (z2 z0 z1)
  :precision binary64
  (let* ((t_0 (/ (+ PI PI) 0.0)))
  (if (<= z2 -1.6e+16)
    (atan
     (-
      (* (* (- (+ PI PI) t_0) (/ z2 z1)) z0)
      (* (/ -1.0 (* 0.0 z1)) z0)))
    (if (<= z2 0.0066)
      (atan
       (/
        (* (sin (+ (* PI (- (- -0.5 z2) z2)) PI)) z0)
        (* (- (sin (* PI (+ z2 z2)))) z1)))
      (atan
       (+
        (/ (* z0 (sin (* 0.5 PI))) (* z1 (cos (* 0.5 PI))))
        (/ (* z0 (* z2 (+ t_0 (+ PI PI)))) z1)))))))
double code(double z2, double z0, double z1) {
	double t_0 = (((double) M_PI) + ((double) M_PI)) / 0.0;
	double tmp;
	if (z2 <= -1.6e+16) {
		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - t_0) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	} else if (z2 <= 0.0066) {
		tmp = atan(((sin(((((double) M_PI) * ((-0.5 - z2) - z2)) + ((double) M_PI))) * z0) / (-sin((((double) M_PI) * (z2 + z2))) * z1)));
	} else {
		tmp = atan((((z0 * sin((0.5 * ((double) M_PI)))) / (z1 * cos((0.5 * ((double) M_PI))))) + ((z0 * (z2 * (t_0 + (((double) M_PI) + ((double) M_PI))))) / z1)));
	}
	return tmp;
}
public static double code(double z2, double z0, double z1) {
	double t_0 = (Math.PI + Math.PI) / 0.0;
	double tmp;
	if (z2 <= -1.6e+16) {
		tmp = Math.atan((((((Math.PI + Math.PI) - t_0) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	} else if (z2 <= 0.0066) {
		tmp = Math.atan(((Math.sin(((Math.PI * ((-0.5 - z2) - z2)) + Math.PI)) * z0) / (-Math.sin((Math.PI * (z2 + z2))) * z1)));
	} else {
		tmp = Math.atan((((z0 * Math.sin((0.5 * Math.PI))) / (z1 * Math.cos((0.5 * Math.PI)))) + ((z0 * (z2 * (t_0 + (Math.PI + Math.PI)))) / z1)));
	}
	return tmp;
}
def code(z2, z0, z1):
	t_0 = (math.pi + math.pi) / 0.0
	tmp = 0
	if z2 <= -1.6e+16:
		tmp = math.atan((((((math.pi + math.pi) - t_0) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
	elif z2 <= 0.0066:
		tmp = math.atan(((math.sin(((math.pi * ((-0.5 - z2) - z2)) + math.pi)) * z0) / (-math.sin((math.pi * (z2 + z2))) * z1)))
	else:
		tmp = math.atan((((z0 * math.sin((0.5 * math.pi))) / (z1 * math.cos((0.5 * math.pi)))) + ((z0 * (z2 * (t_0 + (math.pi + math.pi)))) / z1)))
	return tmp
function code(z2, z0, z1)
	t_0 = Float64(Float64(pi + pi) / 0.0)
	tmp = 0.0
	if (z2 <= -1.6e+16)
		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - t_0) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
	elseif (z2 <= 0.0066)
		tmp = atan(Float64(Float64(sin(Float64(Float64(pi * Float64(Float64(-0.5 - z2) - z2)) + pi)) * z0) / Float64(Float64(-sin(Float64(pi * Float64(z2 + z2)))) * z1)));
	else
		tmp = atan(Float64(Float64(Float64(z0 * sin(Float64(0.5 * pi))) / Float64(z1 * cos(Float64(0.5 * pi)))) + Float64(Float64(z0 * Float64(z2 * Float64(t_0 + Float64(pi + pi)))) / z1)));
	end
	return tmp
end
function tmp_2 = code(z2, z0, z1)
	t_0 = (pi + pi) / 0.0;
	tmp = 0.0;
	if (z2 <= -1.6e+16)
		tmp = atan((((((pi + pi) - t_0) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	elseif (z2 <= 0.0066)
		tmp = atan(((sin(((pi * ((-0.5 - z2) - z2)) + pi)) * z0) / (-sin((pi * (z2 + z2))) * z1)));
	else
		tmp = atan((((z0 * sin((0.5 * pi))) / (z1 * cos((0.5 * pi)))) + ((z0 * (z2 * (t_0 + (pi + pi)))) / z1)));
	end
	tmp_2 = tmp;
end
code[z2_, z0_, z1_] := Block[{t$95$0 = N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]}, If[LessEqual[z2, -1.6e+16], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - t$95$0), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 0.0066], N[ArcTan[N[(N[(N[Sin[N[(N[(Pi * N[(N[(-0.5 - z2), $MachinePrecision] - z2), $MachinePrecision]), $MachinePrecision] + Pi), $MachinePrecision]], $MachinePrecision] * z0), $MachinePrecision] / N[((-N[Sin[N[(Pi * N[(z2 + z2), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]) * z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(N[(N[(z0 * N[Sin[N[(0.5 * Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(z1 * N[Cos[N[(0.5 * Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z0 * N[(z2 * N[(t$95$0 + N[(Pi + Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]
\begin{array}{l}
t_0 := \frac{\pi + \pi}{0}\\
\mathbf{if}\;z2 \leq -1.6 \cdot 10^{+16}:\\
\;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - t\_0\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\

\mathbf{elif}\;z2 \leq 0.0066:\\
\;\;\;\;\tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(\left(-0.5 - z2\right) - z2\right) + \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)\\

\mathbf{else}:\\
\;\;\;\;\tan^{-1} \left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(t\_0 + \left(\pi + \pi\right)\right)\right)}{z1}\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z2 < -1.6e16

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Taylor expanded in z2 around 0

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
    4. Applied rewrites33.3%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    5. Applied rewrites38.8%

      \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

    if -1.6e16 < z2 < 0.0066

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
      2. lift-tan.f64N/A

        \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
      3. tan-quotN/A

        \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
      4. lift-/.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
      5. frac-timesN/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
      6. lower-/.f64N/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
    3. Applied rewrites64.9%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
    4. Step-by-step derivation
      1. lift-cos.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\cos \left(\pi \cdot \left(z2 + z2\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      2. sin-+PI/2-revN/A

        \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\sin \left(\pi \cdot \left(z2 + z2\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      3. lift-PI.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \frac{\color{blue}{\pi}}{2}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      4. mult-flipN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \color{blue}{\pi \cdot \frac{1}{2}}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      5. metadata-evalN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \pi \cdot \color{blue}{\frac{1}{2}}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      6. *-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \color{blue}{\frac{1}{2} \cdot \pi}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      7. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \color{blue}{\frac{1}{2} \cdot \pi}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      8. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\color{blue}{\pi \cdot \left(z2 + z2\right)} + \frac{1}{2} \cdot \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      9. *-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\color{blue}{\left(z2 + z2\right) \cdot \pi} + \frac{1}{2} \cdot \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      10. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(z2 + z2\right) \cdot \pi + \color{blue}{\frac{1}{2} \cdot \pi}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      11. distribute-rgt-inN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \color{blue}{\left(\pi \cdot \left(\left(z2 + z2\right) + \frac{1}{2}\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      12. metadata-evalN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(\left(z2 + z2\right) + \color{blue}{\left(\mathsf{neg}\left(\frac{-1}{2}\right)\right)}\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      13. sub-flipN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \color{blue}{\left(\left(z2 + z2\right) - \frac{-1}{2}\right)}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      14. sub-negate-revN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \color{blue}{\left(\mathsf{neg}\left(\left(\frac{-1}{2} - \left(z2 + z2\right)\right)\right)\right)}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      15. distribute-rgt-neg-outN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \color{blue}{\left(\mathsf{neg}\left(\pi \cdot \left(\frac{-1}{2} - \left(z2 + z2\right)\right)\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\pi \cdot \left(\frac{-1}{2} - \color{blue}{\left(z2 + z2\right)}\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      17. associate--r+N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\pi \cdot \color{blue}{\left(\left(\frac{-1}{2} - z2\right) - z2\right)}\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      18. lift--.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\pi \cdot \left(\color{blue}{\left(\frac{-1}{2} - z2\right)} - z2\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      19. distribute-rgt-out--N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\color{blue}{\left(\left(\frac{-1}{2} - z2\right) \cdot \pi - z2 \cdot \pi\right)}\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      20. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\left(\color{blue}{\left(\frac{-1}{2} - z2\right) \cdot \pi} - z2 \cdot \pi\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      21. *-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\left(\left(\frac{-1}{2} - z2\right) \cdot \pi - \color{blue}{\pi \cdot z2}\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      22. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\left(\left(\frac{-1}{2} - z2\right) \cdot \pi - \color{blue}{\pi \cdot z2}\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
    5. Applied rewrites76.5%

      \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\sin \left(\pi \cdot \left(\left(-0.5 - z2\right) - z2\right) + \pi\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]

    if 0.0066 < z2

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Taylor expanded in z2 around 0

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
    4. Applied rewrites33.3%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    5. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right) \]
      2. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right) \]
      3. fp-cancel-sub-sign-invN/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi + \left(\mathsf{neg}\left(-2\right)\right) \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right) \]
      4. +-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(\left(\mathsf{neg}\left(-2\right)\right) \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}} + 2 \cdot \pi\right)\right)}{z1}\right) \]
      5. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(\left(\mathsf{neg}\left(-2\right)\right) \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}} + 2 \cdot \pi\right)\right)}{z1}\right) \]
    6. Applied rewrites25.4%

      \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(\frac{\pi + \pi}{0} + \left(\pi + \pi\right)\right)\right)}{z1}\right) \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 3: 95.7% accurate, 0.6× speedup?

\[\begin{array}{l} \mathbf{if}\;z2 \leq -1.6 \cdot 10^{+16}:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 1.4:\\ \;\;\;\;\tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(\left(-0.5 - z2\right) - z2\right) + \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\ \end{array} \]
(FPCore (z2 z0 z1)
  :precision binary64
  (if (<= z2 -1.6e+16)
  (atan
   (-
    (* (* (- (+ PI PI) (/ (+ PI PI) 0.0)) (/ z2 z1)) z0)
    (* (/ -1.0 (* 0.0 z1)) z0)))
  (if (<= z2 1.4)
    (atan
     (/
      (* (sin (+ (* PI (- (- -0.5 z2) z2)) PI)) z0)
      (* (- (sin (* PI (+ z2 z2)))) z1)))
    (atan (/ 1.0 (* (/ z1 z0) (tan (+ (- (* 0.5 PI)) (* PI 0.5)))))))))
double code(double z2, double z0, double z1) {
	double tmp;
	if (z2 <= -1.6e+16) {
		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - ((((double) M_PI) + ((double) M_PI)) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	} else if (z2 <= 1.4) {
		tmp = atan(((sin(((((double) M_PI) * ((-0.5 - z2) - z2)) + ((double) M_PI))) * z0) / (-sin((((double) M_PI) * (z2 + z2))) * z1)));
	} else {
		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * ((double) M_PI)) + (((double) M_PI) * 0.5))))));
	}
	return tmp;
}
public static double code(double z2, double z0, double z1) {
	double tmp;
	if (z2 <= -1.6e+16) {
		tmp = Math.atan((((((Math.PI + Math.PI) - ((Math.PI + Math.PI) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	} else if (z2 <= 1.4) {
		tmp = Math.atan(((Math.sin(((Math.PI * ((-0.5 - z2) - z2)) + Math.PI)) * z0) / (-Math.sin((Math.PI * (z2 + z2))) * z1)));
	} else {
		tmp = Math.atan((1.0 / ((z1 / z0) * Math.tan((-(0.5 * Math.PI) + (Math.PI * 0.5))))));
	}
	return tmp;
}
def code(z2, z0, z1):
	tmp = 0
	if z2 <= -1.6e+16:
		tmp = math.atan((((((math.pi + math.pi) - ((math.pi + math.pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
	elif z2 <= 1.4:
		tmp = math.atan(((math.sin(((math.pi * ((-0.5 - z2) - z2)) + math.pi)) * z0) / (-math.sin((math.pi * (z2 + z2))) * z1)))
	else:
		tmp = math.atan((1.0 / ((z1 / z0) * math.tan((-(0.5 * math.pi) + (math.pi * 0.5))))))
	return tmp
function code(z2, z0, z1)
	tmp = 0.0
	if (z2 <= -1.6e+16)
		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - Float64(Float64(pi + pi) / 0.0)) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
	elseif (z2 <= 1.4)
		tmp = atan(Float64(Float64(sin(Float64(Float64(pi * Float64(Float64(-0.5 - z2) - z2)) + pi)) * z0) / Float64(Float64(-sin(Float64(pi * Float64(z2 + z2)))) * z1)));
	else
		tmp = atan(Float64(1.0 / Float64(Float64(z1 / z0) * tan(Float64(Float64(-Float64(0.5 * pi)) + Float64(pi * 0.5))))));
	end
	return tmp
end
function tmp_2 = code(z2, z0, z1)
	tmp = 0.0;
	if (z2 <= -1.6e+16)
		tmp = atan((((((pi + pi) - ((pi + pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
	elseif (z2 <= 1.4)
		tmp = atan(((sin(((pi * ((-0.5 - z2) - z2)) + pi)) * z0) / (-sin((pi * (z2 + z2))) * z1)));
	else
		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * pi) + (pi * 0.5))))));
	end
	tmp_2 = tmp;
end
code[z2_, z0_, z1_] := If[LessEqual[z2, -1.6e+16], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 1.4], N[ArcTan[N[(N[(N[Sin[N[(N[(Pi * N[(N[(-0.5 - z2), $MachinePrecision] - z2), $MachinePrecision]), $MachinePrecision] + Pi), $MachinePrecision]], $MachinePrecision] * z0), $MachinePrecision] / N[((-N[Sin[N[(Pi * N[(z2 + z2), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]) * z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(1.0 / N[(N[(z1 / z0), $MachinePrecision] * N[Tan[N[((-N[(0.5 * Pi), $MachinePrecision]) + N[(Pi * 0.5), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]
\begin{array}{l}
\mathbf{if}\;z2 \leq -1.6 \cdot 10^{+16}:\\
\;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\

\mathbf{elif}\;z2 \leq 1.4:\\
\;\;\;\;\tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(\left(-0.5 - z2\right) - z2\right) + \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)\\

\mathbf{else}:\\
\;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z2 < -1.6e16

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Taylor expanded in z2 around 0

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
    4. Applied rewrites33.3%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
    5. Applied rewrites38.8%

      \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

    if -1.6e16 < z2 < 1.3999999999999999

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
      2. lift-tan.f64N/A

        \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
      3. tan-quotN/A

        \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
      4. lift-/.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
      5. frac-timesN/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
      6. lower-/.f64N/A

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
    3. Applied rewrites64.9%

      \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
    4. Step-by-step derivation
      1. lift-cos.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\cos \left(\pi \cdot \left(z2 + z2\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      2. sin-+PI/2-revN/A

        \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\sin \left(\pi \cdot \left(z2 + z2\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      3. lift-PI.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \frac{\color{blue}{\pi}}{2}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      4. mult-flipN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \color{blue}{\pi \cdot \frac{1}{2}}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      5. metadata-evalN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \pi \cdot \color{blue}{\frac{1}{2}}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      6. *-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \color{blue}{\frac{1}{2} \cdot \pi}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      7. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(z2 + z2\right) + \color{blue}{\frac{1}{2} \cdot \pi}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      8. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\color{blue}{\pi \cdot \left(z2 + z2\right)} + \frac{1}{2} \cdot \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      9. *-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\color{blue}{\left(z2 + z2\right) \cdot \pi} + \frac{1}{2} \cdot \pi\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      10. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(z2 + z2\right) \cdot \pi + \color{blue}{\frac{1}{2} \cdot \pi}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      11. distribute-rgt-inN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \color{blue}{\left(\pi \cdot \left(\left(z2 + z2\right) + \frac{1}{2}\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      12. metadata-evalN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \left(\left(z2 + z2\right) + \color{blue}{\left(\mathsf{neg}\left(\frac{-1}{2}\right)\right)}\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      13. sub-flipN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \color{blue}{\left(\left(z2 + z2\right) - \frac{-1}{2}\right)}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      14. sub-negate-revN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\pi \cdot \color{blue}{\left(\mathsf{neg}\left(\left(\frac{-1}{2} - \left(z2 + z2\right)\right)\right)\right)}\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      15. distribute-rgt-neg-outN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \color{blue}{\left(\mathsf{neg}\left(\pi \cdot \left(\frac{-1}{2} - \left(z2 + z2\right)\right)\right)\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\pi \cdot \left(\frac{-1}{2} - \color{blue}{\left(z2 + z2\right)}\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      17. associate--r+N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\pi \cdot \color{blue}{\left(\left(\frac{-1}{2} - z2\right) - z2\right)}\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      18. lift--.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\pi \cdot \left(\color{blue}{\left(\frac{-1}{2} - z2\right)} - z2\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      19. distribute-rgt-out--N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\color{blue}{\left(\left(\frac{-1}{2} - z2\right) \cdot \pi - z2 \cdot \pi\right)}\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      20. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\left(\color{blue}{\left(\frac{-1}{2} - z2\right) \cdot \pi} - z2 \cdot \pi\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      21. *-commutativeN/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\left(\left(\frac{-1}{2} - z2\right) \cdot \pi - \color{blue}{\pi \cdot z2}\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
      22. lift-*.f64N/A

        \[\leadsto \tan^{-1} \left(\frac{\sin \left(\mathsf{neg}\left(\left(\left(\frac{-1}{2} - z2\right) \cdot \pi - \color{blue}{\pi \cdot z2}\right)\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]
    5. Applied rewrites76.5%

      \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\sin \left(\pi \cdot \left(\left(-0.5 - z2\right) - z2\right) + \pi\right)} \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right) \]

    if 1.3999999999999999 < z2

    1. Initial program 31.5%

      \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    2. Taylor expanded in z2 around 0

      \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{\frac{1}{2}} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
    3. Step-by-step derivation
      1. Applied rewrites43.0%

        \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{0.5} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
      2. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
        2. lift-/.f64N/A

          \[\leadsto \tan^{-1} \left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \color{blue}{\frac{z0}{z1}}\right) \]
        3. associate-*r/N/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
        4. div-flipN/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
        5. lower-unsound-/.f64N/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
        6. lower-unsound-/.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
        7. lower-*.f6443.0%

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{\color{blue}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}}\right) \]
      3. Applied rewrites43.0%

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}\right)} \]
      4. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
        2. mult-flipN/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{z1 \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
        3. associate-*r/N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1 \cdot 1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
        4. lift-*.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
        5. *-commutativeN/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{z0 \cdot \tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
        6. times-fracN/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
        7. lower-*.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
        8. lower-/.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0}} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}\right) \]
        9. lift-tan.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \frac{1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
        10. tan-+PI/2-revN/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
        11. lower-tan.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
        12. lower-+.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \color{blue}{\left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
        13. lower-neg.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\color{blue}{\left(-\frac{1}{2} \cdot \pi\right)} + \frac{\mathsf{PI}\left(\right)}{2}\right)}\right) \]
        14. lift-PI.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \frac{\color{blue}{\pi}}{2}\right)}\right) \]
        15. mult-flipN/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \color{blue}{\pi \cdot \frac{1}{2}}\right)}\right) \]
        16. metadata-evalN/A

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \pi \cdot \color{blue}{\frac{1}{2}}\right)}\right) \]
        17. lower-*.f6459.9%

          \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \color{blue}{\pi \cdot 0.5}\right)}\right) \]
      5. Applied rewrites59.9%

        \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}}\right) \]
    4. Recombined 3 regimes into one program.
    5. Add Preprocessing

    Alternative 4: 95.5% accurate, 0.6× speedup?

    \[\begin{array}{l} t_0 := \pi \cdot \left(z2 + z2\right)\\ \mathbf{if}\;z2 \leq -2650000000:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 1.4:\\ \;\;\;\;\tan^{-1} \left(\frac{\cos t\_0 \cdot z0}{\left(-\sin t\_0\right) \cdot z1}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\ \end{array} \]
    (FPCore (z2 z0 z1)
      :precision binary64
      (let* ((t_0 (* PI (+ z2 z2))))
      (if (<= z2 -2650000000.0)
        (atan
         (-
          (* (* (- (+ PI PI) (/ (+ PI PI) 0.0)) (/ z2 z1)) z0)
          (* (/ -1.0 (* 0.0 z1)) z0)))
        (if (<= z2 1.4)
          (atan (/ (* (cos t_0) z0) (* (- (sin t_0)) z1)))
          (atan
           (/ 1.0 (* (/ z1 z0) (tan (+ (- (* 0.5 PI)) (* PI 0.5))))))))))
    double code(double z2, double z0, double z1) {
    	double t_0 = ((double) M_PI) * (z2 + z2);
    	double tmp;
    	if (z2 <= -2650000000.0) {
    		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - ((((double) M_PI) + ((double) M_PI)) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
    	} else if (z2 <= 1.4) {
    		tmp = atan(((cos(t_0) * z0) / (-sin(t_0) * z1)));
    	} else {
    		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * ((double) M_PI)) + (((double) M_PI) * 0.5))))));
    	}
    	return tmp;
    }
    
    public static double code(double z2, double z0, double z1) {
    	double t_0 = Math.PI * (z2 + z2);
    	double tmp;
    	if (z2 <= -2650000000.0) {
    		tmp = Math.atan((((((Math.PI + Math.PI) - ((Math.PI + Math.PI) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
    	} else if (z2 <= 1.4) {
    		tmp = Math.atan(((Math.cos(t_0) * z0) / (-Math.sin(t_0) * z1)));
    	} else {
    		tmp = Math.atan((1.0 / ((z1 / z0) * Math.tan((-(0.5 * Math.PI) + (Math.PI * 0.5))))));
    	}
    	return tmp;
    }
    
    def code(z2, z0, z1):
    	t_0 = math.pi * (z2 + z2)
    	tmp = 0
    	if z2 <= -2650000000.0:
    		tmp = math.atan((((((math.pi + math.pi) - ((math.pi + math.pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
    	elif z2 <= 1.4:
    		tmp = math.atan(((math.cos(t_0) * z0) / (-math.sin(t_0) * z1)))
    	else:
    		tmp = math.atan((1.0 / ((z1 / z0) * math.tan((-(0.5 * math.pi) + (math.pi * 0.5))))))
    	return tmp
    
    function code(z2, z0, z1)
    	t_0 = Float64(pi * Float64(z2 + z2))
    	tmp = 0.0
    	if (z2 <= -2650000000.0)
    		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - Float64(Float64(pi + pi) / 0.0)) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
    	elseif (z2 <= 1.4)
    		tmp = atan(Float64(Float64(cos(t_0) * z0) / Float64(Float64(-sin(t_0)) * z1)));
    	else
    		tmp = atan(Float64(1.0 / Float64(Float64(z1 / z0) * tan(Float64(Float64(-Float64(0.5 * pi)) + Float64(pi * 0.5))))));
    	end
    	return tmp
    end
    
    function tmp_2 = code(z2, z0, z1)
    	t_0 = pi * (z2 + z2);
    	tmp = 0.0;
    	if (z2 <= -2650000000.0)
    		tmp = atan((((((pi + pi) - ((pi + pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
    	elseif (z2 <= 1.4)
    		tmp = atan(((cos(t_0) * z0) / (-sin(t_0) * z1)));
    	else
    		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * pi) + (pi * 0.5))))));
    	end
    	tmp_2 = tmp;
    end
    
    code[z2_, z0_, z1_] := Block[{t$95$0 = N[(Pi * N[(z2 + z2), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z2, -2650000000.0], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 1.4], N[ArcTan[N[(N[(N[Cos[t$95$0], $MachinePrecision] * z0), $MachinePrecision] / N[((-N[Sin[t$95$0], $MachinePrecision]) * z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(1.0 / N[(N[(z1 / z0), $MachinePrecision] * N[Tan[N[((-N[(0.5 * Pi), $MachinePrecision]) + N[(Pi * 0.5), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]
    
    \begin{array}{l}
    t_0 := \pi \cdot \left(z2 + z2\right)\\
    \mathbf{if}\;z2 \leq -2650000000:\\
    \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\
    
    \mathbf{elif}\;z2 \leq 1.4:\\
    \;\;\;\;\tan^{-1} \left(\frac{\cos t\_0 \cdot z0}{\left(-\sin t\_0\right) \cdot z1}\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if z2 < -2.65e9

      1. Initial program 31.5%

        \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
      2. Taylor expanded in z2 around 0

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
      4. Applied rewrites33.3%

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
      5. Applied rewrites38.8%

        \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

      if -2.65e9 < z2 < 1.3999999999999999

      1. Initial program 31.5%

        \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
      2. Step-by-step derivation
        1. lift-*.f64N/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
        2. lift-tan.f64N/A

          \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
        3. tan-quotN/A

          \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
        4. lift-/.f64N/A

          \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
        5. frac-timesN/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
        6. lower-/.f64N/A

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
      3. Applied rewrites64.9%

        \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]

      if 1.3999999999999999 < z2

      1. Initial program 31.5%

        \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
      2. Taylor expanded in z2 around 0

        \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{\frac{1}{2}} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
      3. Step-by-step derivation
        1. Applied rewrites43.0%

          \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{0.5} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
        2. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
          2. lift-/.f64N/A

            \[\leadsto \tan^{-1} \left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \color{blue}{\frac{z0}{z1}}\right) \]
          3. associate-*r/N/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
          4. div-flipN/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
          5. lower-unsound-/.f64N/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
          6. lower-unsound-/.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
          7. lower-*.f6443.0%

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{\color{blue}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}}\right) \]
        3. Applied rewrites43.0%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}\right)} \]
        4. Step-by-step derivation
          1. lift-/.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
          2. mult-flipN/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{z1 \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
          3. associate-*r/N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1 \cdot 1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
          4. lift-*.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
          5. *-commutativeN/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{z0 \cdot \tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
          6. times-fracN/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
          7. lower-*.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
          8. lower-/.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0}} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}\right) \]
          9. lift-tan.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \frac{1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
          10. tan-+PI/2-revN/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
          11. lower-tan.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
          12. lower-+.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \color{blue}{\left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
          13. lower-neg.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\color{blue}{\left(-\frac{1}{2} \cdot \pi\right)} + \frac{\mathsf{PI}\left(\right)}{2}\right)}\right) \]
          14. lift-PI.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \frac{\color{blue}{\pi}}{2}\right)}\right) \]
          15. mult-flipN/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \color{blue}{\pi \cdot \frac{1}{2}}\right)}\right) \]
          16. metadata-evalN/A

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \pi \cdot \color{blue}{\frac{1}{2}}\right)}\right) \]
          17. lower-*.f6459.9%

            \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \color{blue}{\pi \cdot 0.5}\right)}\right) \]
        5. Applied rewrites59.9%

          \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}}\right) \]
      4. Recombined 3 regimes into one program.
      5. Add Preprocessing

      Alternative 5: 95.5% accurate, 0.6× speedup?

      \[\begin{array}{l} t_0 := \pi \cdot \left(z2 + z2\right)\\ \mathbf{if}\;z2 \leq -2650000000:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 1.4:\\ \;\;\;\;\tan^{-1} \left(z0 \cdot \frac{\cos t\_0}{\left(-\sin t\_0\right) \cdot z1}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\ \end{array} \]
      (FPCore (z2 z0 z1)
        :precision binary64
        (let* ((t_0 (* PI (+ z2 z2))))
        (if (<= z2 -2650000000.0)
          (atan
           (-
            (* (* (- (+ PI PI) (/ (+ PI PI) 0.0)) (/ z2 z1)) z0)
            (* (/ -1.0 (* 0.0 z1)) z0)))
          (if (<= z2 1.4)
            (atan (* z0 (/ (cos t_0) (* (- (sin t_0)) z1))))
            (atan
             (/ 1.0 (* (/ z1 z0) (tan (+ (- (* 0.5 PI)) (* PI 0.5))))))))))
      double code(double z2, double z0, double z1) {
      	double t_0 = ((double) M_PI) * (z2 + z2);
      	double tmp;
      	if (z2 <= -2650000000.0) {
      		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - ((((double) M_PI) + ((double) M_PI)) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
      	} else if (z2 <= 1.4) {
      		tmp = atan((z0 * (cos(t_0) / (-sin(t_0) * z1))));
      	} else {
      		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * ((double) M_PI)) + (((double) M_PI) * 0.5))))));
      	}
      	return tmp;
      }
      
      public static double code(double z2, double z0, double z1) {
      	double t_0 = Math.PI * (z2 + z2);
      	double tmp;
      	if (z2 <= -2650000000.0) {
      		tmp = Math.atan((((((Math.PI + Math.PI) - ((Math.PI + Math.PI) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
      	} else if (z2 <= 1.4) {
      		tmp = Math.atan((z0 * (Math.cos(t_0) / (-Math.sin(t_0) * z1))));
      	} else {
      		tmp = Math.atan((1.0 / ((z1 / z0) * Math.tan((-(0.5 * Math.PI) + (Math.PI * 0.5))))));
      	}
      	return tmp;
      }
      
      def code(z2, z0, z1):
      	t_0 = math.pi * (z2 + z2)
      	tmp = 0
      	if z2 <= -2650000000.0:
      		tmp = math.atan((((((math.pi + math.pi) - ((math.pi + math.pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
      	elif z2 <= 1.4:
      		tmp = math.atan((z0 * (math.cos(t_0) / (-math.sin(t_0) * z1))))
      	else:
      		tmp = math.atan((1.0 / ((z1 / z0) * math.tan((-(0.5 * math.pi) + (math.pi * 0.5))))))
      	return tmp
      
      function code(z2, z0, z1)
      	t_0 = Float64(pi * Float64(z2 + z2))
      	tmp = 0.0
      	if (z2 <= -2650000000.0)
      		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - Float64(Float64(pi + pi) / 0.0)) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
      	elseif (z2 <= 1.4)
      		tmp = atan(Float64(z0 * Float64(cos(t_0) / Float64(Float64(-sin(t_0)) * z1))));
      	else
      		tmp = atan(Float64(1.0 / Float64(Float64(z1 / z0) * tan(Float64(Float64(-Float64(0.5 * pi)) + Float64(pi * 0.5))))));
      	end
      	return tmp
      end
      
      function tmp_2 = code(z2, z0, z1)
      	t_0 = pi * (z2 + z2);
      	tmp = 0.0;
      	if (z2 <= -2650000000.0)
      		tmp = atan((((((pi + pi) - ((pi + pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
      	elseif (z2 <= 1.4)
      		tmp = atan((z0 * (cos(t_0) / (-sin(t_0) * z1))));
      	else
      		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * pi) + (pi * 0.5))))));
      	end
      	tmp_2 = tmp;
      end
      
      code[z2_, z0_, z1_] := Block[{t$95$0 = N[(Pi * N[(z2 + z2), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z2, -2650000000.0], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 1.4], N[ArcTan[N[(z0 * N[(N[Cos[t$95$0], $MachinePrecision] / N[((-N[Sin[t$95$0], $MachinePrecision]) * z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(1.0 / N[(N[(z1 / z0), $MachinePrecision] * N[Tan[N[((-N[(0.5 * Pi), $MachinePrecision]) + N[(Pi * 0.5), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]
      
      \begin{array}{l}
      t_0 := \pi \cdot \left(z2 + z2\right)\\
      \mathbf{if}\;z2 \leq -2650000000:\\
      \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\
      
      \mathbf{elif}\;z2 \leq 1.4:\\
      \;\;\;\;\tan^{-1} \left(z0 \cdot \frac{\cos t\_0}{\left(-\sin t\_0\right) \cdot z1}\right)\\
      
      \mathbf{else}:\\
      \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\
      
      
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if z2 < -2.65e9

        1. Initial program 31.5%

          \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
        2. Taylor expanded in z2 around 0

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
        3. Step-by-step derivation
          1. lower-+.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
        4. Applied rewrites33.3%

          \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
        5. Applied rewrites38.8%

          \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

        if -2.65e9 < z2 < 1.3999999999999999

        1. Initial program 31.5%

          \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
        2. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
          2. *-commutativeN/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0}{z1} \cdot \tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)\right)} \]
          3. lift-/.f64N/A

            \[\leadsto \tan^{-1} \left(\color{blue}{\frac{z0}{z1}} \cdot \tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)\right) \]
          4. lift-tan.f64N/A

            \[\leadsto \tan^{-1} \left(\frac{z0}{z1} \cdot \color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}\right) \]
          5. tan-quotN/A

            \[\leadsto \tan^{-1} \left(\frac{z0}{z1} \cdot \color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}}\right) \]
          6. frac-timesN/A

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{z1 \cdot \cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}\right)} \]
          7. associate-/l*N/A

            \[\leadsto \tan^{-1} \color{blue}{\left(z0 \cdot \frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{z1 \cdot \cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}\right)} \]
          8. lower-*.f64N/A

            \[\leadsto \tan^{-1} \color{blue}{\left(z0 \cdot \frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{z1 \cdot \cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}\right)} \]
          9. *-commutativeN/A

            \[\leadsto \tan^{-1} \left(z0 \cdot \frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\color{blue}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}}\right) \]
          10. lower-/.f64N/A

            \[\leadsto \tan^{-1} \left(z0 \cdot \color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}}\right) \]
        3. Applied rewrites64.9%

          \[\leadsto \tan^{-1} \color{blue}{\left(z0 \cdot \frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right)}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]

        if 1.3999999999999999 < z2

        1. Initial program 31.5%

          \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
        2. Taylor expanded in z2 around 0

          \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{\frac{1}{2}} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
        3. Step-by-step derivation
          1. Applied rewrites43.0%

            \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{0.5} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
          2. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
            2. lift-/.f64N/A

              \[\leadsto \tan^{-1} \left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \color{blue}{\frac{z0}{z1}}\right) \]
            3. associate-*r/N/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
            4. div-flipN/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
            5. lower-unsound-/.f64N/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
            6. lower-unsound-/.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
            7. lower-*.f6443.0%

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{\color{blue}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}}\right) \]
          3. Applied rewrites43.0%

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}\right)} \]
          4. Step-by-step derivation
            1. lift-/.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
            2. mult-flipN/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{z1 \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
            3. associate-*r/N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1 \cdot 1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
            4. lift-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
            5. *-commutativeN/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{z0 \cdot \tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
            6. times-fracN/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
            7. lower-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
            8. lower-/.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0}} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}\right) \]
            9. lift-tan.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \frac{1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
            10. tan-+PI/2-revN/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
            11. lower-tan.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
            12. lower-+.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \color{blue}{\left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
            13. lower-neg.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\color{blue}{\left(-\frac{1}{2} \cdot \pi\right)} + \frac{\mathsf{PI}\left(\right)}{2}\right)}\right) \]
            14. lift-PI.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \frac{\color{blue}{\pi}}{2}\right)}\right) \]
            15. mult-flipN/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \color{blue}{\pi \cdot \frac{1}{2}}\right)}\right) \]
            16. metadata-evalN/A

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \pi \cdot \color{blue}{\frac{1}{2}}\right)}\right) \]
            17. lower-*.f6459.9%

              \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \color{blue}{\pi \cdot 0.5}\right)}\right) \]
          5. Applied rewrites59.9%

            \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}}\right) \]
        4. Recombined 3 regimes into one program.
        5. Add Preprocessing

        Alternative 6: 94.9% accurate, 0.9× speedup?

        \[\begin{array}{l} \mathbf{if}\;z2 \leq -4500000:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 0.0066:\\ \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\ \end{array} \]
        (FPCore (z2 z0 z1)
          :precision binary64
          (if (<= z2 -4500000.0)
          (atan
           (-
            (* (* (- (+ PI PI) (/ (+ PI PI) 0.0)) (/ z2 z1)) z0)
            (* (/ -1.0 (* 0.0 z1)) z0)))
          (if (<= z2 0.0066)
            (atan (* -0.5 (/ z0 (* (* z1 PI) z2))))
            (atan (/ 1.0 (* (/ z1 z0) (tan (+ (- (* 0.5 PI)) (* PI 0.5)))))))))
        double code(double z2, double z0, double z1) {
        	double tmp;
        	if (z2 <= -4500000.0) {
        		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - ((((double) M_PI) + ((double) M_PI)) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
        	} else if (z2 <= 0.0066) {
        		tmp = atan((-0.5 * (z0 / ((z1 * ((double) M_PI)) * z2))));
        	} else {
        		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * ((double) M_PI)) + (((double) M_PI) * 0.5))))));
        	}
        	return tmp;
        }
        
        public static double code(double z2, double z0, double z1) {
        	double tmp;
        	if (z2 <= -4500000.0) {
        		tmp = Math.atan((((((Math.PI + Math.PI) - ((Math.PI + Math.PI) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
        	} else if (z2 <= 0.0066) {
        		tmp = Math.atan((-0.5 * (z0 / ((z1 * Math.PI) * z2))));
        	} else {
        		tmp = Math.atan((1.0 / ((z1 / z0) * Math.tan((-(0.5 * Math.PI) + (Math.PI * 0.5))))));
        	}
        	return tmp;
        }
        
        def code(z2, z0, z1):
        	tmp = 0
        	if z2 <= -4500000.0:
        		tmp = math.atan((((((math.pi + math.pi) - ((math.pi + math.pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
        	elif z2 <= 0.0066:
        		tmp = math.atan((-0.5 * (z0 / ((z1 * math.pi) * z2))))
        	else:
        		tmp = math.atan((1.0 / ((z1 / z0) * math.tan((-(0.5 * math.pi) + (math.pi * 0.5))))))
        	return tmp
        
        function code(z2, z0, z1)
        	tmp = 0.0
        	if (z2 <= -4500000.0)
        		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - Float64(Float64(pi + pi) / 0.0)) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
        	elseif (z2 <= 0.0066)
        		tmp = atan(Float64(-0.5 * Float64(z0 / Float64(Float64(z1 * pi) * z2))));
        	else
        		tmp = atan(Float64(1.0 / Float64(Float64(z1 / z0) * tan(Float64(Float64(-Float64(0.5 * pi)) + Float64(pi * 0.5))))));
        	end
        	return tmp
        end
        
        function tmp_2 = code(z2, z0, z1)
        	tmp = 0.0;
        	if (z2 <= -4500000.0)
        		tmp = atan((((((pi + pi) - ((pi + pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
        	elseif (z2 <= 0.0066)
        		tmp = atan((-0.5 * (z0 / ((z1 * pi) * z2))));
        	else
        		tmp = atan((1.0 / ((z1 / z0) * tan((-(0.5 * pi) + (pi * 0.5))))));
        	end
        	tmp_2 = tmp;
        end
        
        code[z2_, z0_, z1_] := If[LessEqual[z2, -4500000.0], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 0.0066], N[ArcTan[N[(-0.5 * N[(z0 / N[(N[(z1 * Pi), $MachinePrecision] * z2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(1.0 / N[(N[(z1 / z0), $MachinePrecision] * N[Tan[N[((-N[(0.5 * Pi), $MachinePrecision]) + N[(Pi * 0.5), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]
        
        \begin{array}{l}
        \mathbf{if}\;z2 \leq -4500000:\\
        \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\
        
        \mathbf{elif}\;z2 \leq 0.0066:\\
        \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)\\
        
        \mathbf{else}:\\
        \;\;\;\;\tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}\right)\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if z2 < -4.5e6

          1. Initial program 31.5%

            \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
          2. Taylor expanded in z2 around 0

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
          3. Step-by-step derivation
            1. lower-+.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
          4. Applied rewrites33.3%

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
          5. Applied rewrites38.8%

            \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

          if -4.5e6 < z2 < 0.0066

          1. Initial program 31.5%

            \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
          2. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
            2. lift-tan.f64N/A

              \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
            3. tan-quotN/A

              \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
            4. lift-/.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
            5. frac-timesN/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
            6. lower-/.f64N/A

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
          3. Applied rewrites64.9%

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
          4. Taylor expanded in z2 around 0

            \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
          5. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \color{blue}{\frac{z0}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
            2. lower-/.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\color{blue}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
            3. lower-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
            4. lower-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)}\right) \]
            5. lower-PI.f6458.7%

              \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
          6. Applied rewrites58.7%

            \[\leadsto \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
          7. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \pi\right)}}\right) \]
            2. lift-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\pi}\right)}\right) \]
            3. *-commutativeN/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(\pi \cdot \color{blue}{z2}\right)}\right) \]
            4. associate-*r*N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
            5. lower-*.f64N/A

              \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
            6. lower-*.f6458.7%

              \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right) \]
          8. Applied rewrites58.7%

            \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]

          if 0.0066 < z2

          1. Initial program 31.5%

            \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
          2. Taylor expanded in z2 around 0

            \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{\frac{1}{2}} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
          3. Step-by-step derivation
            1. Applied rewrites43.0%

              \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{0.5} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
              2. lift-/.f64N/A

                \[\leadsto \tan^{-1} \left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \color{blue}{\frac{z0}{z1}}\right) \]
              3. associate-*r/N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
              4. div-flipN/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
              5. lower-unsound-/.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}\right)} \]
              6. lower-unsound-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
              7. lower-*.f6443.0%

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{\color{blue}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}}\right) \]
            3. Applied rewrites43.0%

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{1}{\frac{z1}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}\right)} \]
            4. Step-by-step derivation
              1. lift-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
              2. mult-flipN/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{z1 \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
              3. associate-*r/N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1 \cdot 1}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
              4. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}}\right) \]
              5. *-commutativeN/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1 \cdot 1}{\color{blue}{z0 \cdot \tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
              6. times-fracN/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
              7. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
              8. lower-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0}} \cdot \frac{1}{\tan \left(\frac{1}{2} \cdot \pi\right)}}\right) \]
              9. lift-tan.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \frac{1}{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right)}}}\right) \]
              10. tan-+PI/2-revN/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
              11. lower-tan.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \color{blue}{\tan \left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
              12. lower-+.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \color{blue}{\left(\left(\mathsf{neg}\left(\frac{1}{2} \cdot \pi\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}}\right) \]
              13. lower-neg.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\color{blue}{\left(-\frac{1}{2} \cdot \pi\right)} + \frac{\mathsf{PI}\left(\right)}{2}\right)}\right) \]
              14. lift-PI.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \frac{\color{blue}{\pi}}{2}\right)}\right) \]
              15. mult-flipN/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \color{blue}{\pi \cdot \frac{1}{2}}\right)}\right) \]
              16. metadata-evalN/A

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-\frac{1}{2} \cdot \pi\right) + \pi \cdot \color{blue}{\frac{1}{2}}\right)}\right) \]
              17. lower-*.f6459.9%

                \[\leadsto \tan^{-1} \left(\frac{1}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \color{blue}{\pi \cdot 0.5}\right)}\right) \]
            5. Applied rewrites59.9%

              \[\leadsto \tan^{-1} \left(\frac{1}{\color{blue}{\frac{z1}{z0} \cdot \tan \left(\left(-0.5 \cdot \pi\right) + \pi \cdot 0.5\right)}}\right) \]
          4. Recombined 3 regimes into one program.
          5. Add Preprocessing

          Alternative 7: 87.4% accurate, 1.0× speedup?

          \[\begin{array}{l} \mathbf{if}\;z2 \leq -4500000:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{elif}\;z2 \leq 11500000:\\ \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(z0 \cdot \frac{\tan \left(0.5 \cdot \pi\right)}{z1}\right)\\ \end{array} \]
          (FPCore (z2 z0 z1)
            :precision binary64
            (if (<= z2 -4500000.0)
            (atan
             (-
              (* (* (- (+ PI PI) (/ (+ PI PI) 0.0)) (/ z2 z1)) z0)
              (* (/ -1.0 (* 0.0 z1)) z0)))
            (if (<= z2 11500000.0)
              (atan (* -0.5 (/ z0 (* (* z1 PI) z2))))
              (atan (* z0 (/ (tan (* 0.5 PI)) z1))))))
          double code(double z2, double z0, double z1) {
          	double tmp;
          	if (z2 <= -4500000.0) {
          		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - ((((double) M_PI) + ((double) M_PI)) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
          	} else if (z2 <= 11500000.0) {
          		tmp = atan((-0.5 * (z0 / ((z1 * ((double) M_PI)) * z2))));
          	} else {
          		tmp = atan((z0 * (tan((0.5 * ((double) M_PI))) / z1)));
          	}
          	return tmp;
          }
          
          public static double code(double z2, double z0, double z1) {
          	double tmp;
          	if (z2 <= -4500000.0) {
          		tmp = Math.atan((((((Math.PI + Math.PI) - ((Math.PI + Math.PI) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
          	} else if (z2 <= 11500000.0) {
          		tmp = Math.atan((-0.5 * (z0 / ((z1 * Math.PI) * z2))));
          	} else {
          		tmp = Math.atan((z0 * (Math.tan((0.5 * Math.PI)) / z1)));
          	}
          	return tmp;
          }
          
          def code(z2, z0, z1):
          	tmp = 0
          	if z2 <= -4500000.0:
          		tmp = math.atan((((((math.pi + math.pi) - ((math.pi + math.pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
          	elif z2 <= 11500000.0:
          		tmp = math.atan((-0.5 * (z0 / ((z1 * math.pi) * z2))))
          	else:
          		tmp = math.atan((z0 * (math.tan((0.5 * math.pi)) / z1)))
          	return tmp
          
          function code(z2, z0, z1)
          	tmp = 0.0
          	if (z2 <= -4500000.0)
          		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - Float64(Float64(pi + pi) / 0.0)) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
          	elseif (z2 <= 11500000.0)
          		tmp = atan(Float64(-0.5 * Float64(z0 / Float64(Float64(z1 * pi) * z2))));
          	else
          		tmp = atan(Float64(z0 * Float64(tan(Float64(0.5 * pi)) / z1)));
          	end
          	return tmp
          end
          
          function tmp_2 = code(z2, z0, z1)
          	tmp = 0.0;
          	if (z2 <= -4500000.0)
          		tmp = atan((((((pi + pi) - ((pi + pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
          	elseif (z2 <= 11500000.0)
          		tmp = atan((-0.5 * (z0 / ((z1 * pi) * z2))));
          	else
          		tmp = atan((z0 * (tan((0.5 * pi)) / z1)));
          	end
          	tmp_2 = tmp;
          end
          
          code[z2_, z0_, z1_] := If[LessEqual[z2, -4500000.0], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[z2, 11500000.0], N[ArcTan[N[(-0.5 * N[(z0 / N[(N[(z1 * Pi), $MachinePrecision] * z2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(z0 * N[(N[Tan[N[(0.5 * Pi), $MachinePrecision]], $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]
          
          \begin{array}{l}
          \mathbf{if}\;z2 \leq -4500000:\\
          \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\
          
          \mathbf{elif}\;z2 \leq 11500000:\\
          \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;\tan^{-1} \left(z0 \cdot \frac{\tan \left(0.5 \cdot \pi\right)}{z1}\right)\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if z2 < -4.5e6

            1. Initial program 31.5%

              \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Taylor expanded in z2 around 0

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
            4. Applied rewrites33.3%

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
            5. Applied rewrites38.8%

              \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

            if -4.5e6 < z2 < 1.15e7

            1. Initial program 31.5%

              \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
              2. lift-tan.f64N/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
              3. tan-quotN/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
              4. lift-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
              5. frac-timesN/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
              6. lower-/.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
            3. Applied rewrites64.9%

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
            4. Taylor expanded in z2 around 0

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            5. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \color{blue}{\frac{z0}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              2. lower-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\color{blue}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              3. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              4. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)}\right) \]
              5. lower-PI.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
            6. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            7. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \pi\right)}}\right) \]
              2. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\pi}\right)}\right) \]
              3. *-commutativeN/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(\pi \cdot \color{blue}{z2}\right)}\right) \]
              4. associate-*r*N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
              5. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
              6. lower-*.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right) \]
            8. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]

            if 1.15e7 < z2

            1. Initial program 31.5%

              \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Taylor expanded in z2 around 0

              \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{\frac{1}{2}} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            3. Step-by-step derivation
              1. Applied rewrites43.0%

                \[\leadsto \tan^{-1} \left(\tan \left(\color{blue}{0.5} \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
              2. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
                2. lift-/.f64N/A

                  \[\leadsto \tan^{-1} \left(\tan \left(\frac{1}{2} \cdot \pi\right) \cdot \color{blue}{\frac{z0}{z1}}\right) \]
                3. associate-*r/N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
                4. lower-/.f64N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
                5. lower-*.f6443.0%

                  \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\tan \left(0.5 \cdot \pi\right) \cdot z0}}{z1}\right) \]
              3. Applied rewrites43.0%

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(0.5 \cdot \pi\right) \cdot z0}{z1}\right)} \]
              4. Step-by-step derivation
                1. lift-/.f64N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}{z1}\right)} \]
                2. lift-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{\color{blue}{\tan \left(\frac{1}{2} \cdot \pi\right) \cdot z0}}{z1}\right) \]
                3. *-commutativeN/A

                  \[\leadsto \tan^{-1} \left(\frac{\color{blue}{z0 \cdot \tan \left(\frac{1}{2} \cdot \pi\right)}}{z1}\right) \]
                4. associate-/l*N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(z0 \cdot \frac{\tan \left(\frac{1}{2} \cdot \pi\right)}{z1}\right)} \]
                5. lower-*.f64N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(z0 \cdot \frac{\tan \left(\frac{1}{2} \cdot \pi\right)}{z1}\right)} \]
                6. lower-/.f6443.0%

                  \[\leadsto \tan^{-1} \left(z0 \cdot \color{blue}{\frac{\tan \left(0.5 \cdot \pi\right)}{z1}}\right) \]
              5. Applied rewrites43.0%

                \[\leadsto \tan^{-1} \color{blue}{\left(z0 \cdot \frac{\tan \left(0.5 \cdot \pi\right)}{z1}\right)} \]
            4. Recombined 3 regimes into one program.
            5. Add Preprocessing

            Alternative 8: 75.1% accurate, 1.3× speedup?

            \[\begin{array}{l} \mathbf{if}\;z2 \leq -4500000:\\ \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)\\ \end{array} \]
            (FPCore (z2 z0 z1)
              :precision binary64
              (if (<= z2 -4500000.0)
              (atan
               (-
                (* (* (- (+ PI PI) (/ (+ PI PI) 0.0)) (/ z2 z1)) z0)
                (* (/ -1.0 (* 0.0 z1)) z0)))
              (atan (* -0.5 (/ z0 (* (* z1 PI) z2))))))
            double code(double z2, double z0, double z1) {
            	double tmp;
            	if (z2 <= -4500000.0) {
            		tmp = atan((((((((double) M_PI) + ((double) M_PI)) - ((((double) M_PI) + ((double) M_PI)) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
            	} else {
            		tmp = atan((-0.5 * (z0 / ((z1 * ((double) M_PI)) * z2))));
            	}
            	return tmp;
            }
            
            public static double code(double z2, double z0, double z1) {
            	double tmp;
            	if (z2 <= -4500000.0) {
            		tmp = Math.atan((((((Math.PI + Math.PI) - ((Math.PI + Math.PI) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
            	} else {
            		tmp = Math.atan((-0.5 * (z0 / ((z1 * Math.PI) * z2))));
            	}
            	return tmp;
            }
            
            def code(z2, z0, z1):
            	tmp = 0
            	if z2 <= -4500000.0:
            		tmp = math.atan((((((math.pi + math.pi) - ((math.pi + math.pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)))
            	else:
            		tmp = math.atan((-0.5 * (z0 / ((z1 * math.pi) * z2))))
            	return tmp
            
            function code(z2, z0, z1)
            	tmp = 0.0
            	if (z2 <= -4500000.0)
            		tmp = atan(Float64(Float64(Float64(Float64(Float64(pi + pi) - Float64(Float64(pi + pi) / 0.0)) * Float64(z2 / z1)) * z0) - Float64(Float64(-1.0 / Float64(0.0 * z1)) * z0)));
            	else
            		tmp = atan(Float64(-0.5 * Float64(z0 / Float64(Float64(z1 * pi) * z2))));
            	end
            	return tmp
            end
            
            function tmp_2 = code(z2, z0, z1)
            	tmp = 0.0;
            	if (z2 <= -4500000.0)
            		tmp = atan((((((pi + pi) - ((pi + pi) / 0.0)) * (z2 / z1)) * z0) - ((-1.0 / (0.0 * z1)) * z0)));
            	else
            		tmp = atan((-0.5 * (z0 / ((z1 * pi) * z2))));
            	end
            	tmp_2 = tmp;
            end
            
            code[z2_, z0_, z1_] := If[LessEqual[z2, -4500000.0], N[ArcTan[N[(N[(N[(N[(N[(Pi + Pi), $MachinePrecision] - N[(N[(Pi + Pi), $MachinePrecision] / 0.0), $MachinePrecision]), $MachinePrecision] * N[(z2 / z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision] - N[(N[(-1.0 / N[(0.0 * z1), $MachinePrecision]), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[ArcTan[N[(-0.5 * N[(z0 / N[(N[(z1 * Pi), $MachinePrecision] * z2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]
            
            \begin{array}{l}
            \mathbf{if}\;z2 \leq -4500000:\\
            \;\;\;\;\tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \frac{-1}{0 \cdot z1} \cdot z0\right)\\
            
            \mathbf{else}:\\
            \;\;\;\;\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)\\
            
            
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if z2 < -4.5e6

              1. Initial program 31.5%

                \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
              2. Taylor expanded in z2 around 0

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \pi\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(\frac{1}{2} \cdot \pi\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
              3. Step-by-step derivation
                1. lower-+.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{z0 \cdot \sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}{z1 \cdot \cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)} + \color{blue}{\frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \mathsf{PI}\left(\right) - -2 \cdot \frac{\mathsf{PI}\left(\right) \cdot {\sin \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}{{\cos \left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}^{2}}\right)\right)}{z1}}\right) \]
              4. Applied rewrites33.3%

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{z0 \cdot \sin \left(0.5 \cdot \pi\right)}{z1 \cdot \cos \left(0.5 \cdot \pi\right)} + \frac{z0 \cdot \left(z2 \cdot \left(2 \cdot \pi - -2 \cdot \frac{\pi \cdot {\sin \left(0.5 \cdot \pi\right)}^{2}}{{\cos \left(0.5 \cdot \pi\right)}^{2}}\right)\right)}{z1}\right)} \]
              5. Applied rewrites38.8%

                \[\leadsto \tan^{-1} \left(\left(\left(\left(\pi + \pi\right) - \frac{\pi + \pi}{0}\right) \cdot \frac{z2}{z1}\right) \cdot z0 - \color{blue}{\frac{-1}{0 \cdot z1} \cdot z0}\right) \]

              if -4.5e6 < z2

              1. Initial program 31.5%

                \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
              2. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
                2. lift-tan.f64N/A

                  \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
                3. tan-quotN/A

                  \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
                4. lift-/.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
                5. frac-timesN/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
                6. lower-/.f64N/A

                  \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
              3. Applied rewrites64.9%

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
              4. Taylor expanded in z2 around 0

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
              5. Step-by-step derivation
                1. lower-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \color{blue}{\frac{z0}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
                2. lower-/.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\color{blue}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
                3. lower-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
                4. lower-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)}\right) \]
                5. lower-PI.f6458.7%

                  \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
              6. Applied rewrites58.7%

                \[\leadsto \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
              7. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \pi\right)}}\right) \]
                2. lift-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\pi}\right)}\right) \]
                3. *-commutativeN/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(\pi \cdot \color{blue}{z2}\right)}\right) \]
                4. associate-*r*N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
                5. lower-*.f64N/A

                  \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
                6. lower-*.f6458.7%

                  \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right) \]
              8. Applied rewrites58.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
            3. Recombined 2 regimes into one program.
            4. Add Preprocessing

            Alternative 9: 58.7% accurate, 1.8× speedup?

            \[\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right) \]
            (FPCore (z2 z0 z1)
              :precision binary64
              (atan (* -0.5 (/ z0 (* (* z1 PI) z2)))))
            double code(double z2, double z0, double z1) {
            	return atan((-0.5 * (z0 / ((z1 * ((double) M_PI)) * z2))));
            }
            
            public static double code(double z2, double z0, double z1) {
            	return Math.atan((-0.5 * (z0 / ((z1 * Math.PI) * z2))));
            }
            
            def code(z2, z0, z1):
            	return math.atan((-0.5 * (z0 / ((z1 * math.pi) * z2))))
            
            function code(z2, z0, z1)
            	return atan(Float64(-0.5 * Float64(z0 / Float64(Float64(z1 * pi) * z2))))
            end
            
            function tmp = code(z2, z0, z1)
            	tmp = atan((-0.5 * (z0 / ((z1 * pi) * z2))));
            end
            
            code[z2_, z0_, z1_] := N[ArcTan[N[(-0.5 * N[(z0 / N[(N[(z1 * Pi), $MachinePrecision] * z2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
            
            \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right)
            
            Derivation
            1. Initial program 31.5%

              \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
              2. lift-tan.f64N/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
              3. tan-quotN/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
              4. lift-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
              5. frac-timesN/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
              6. lower-/.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
            3. Applied rewrites64.9%

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
            4. Taylor expanded in z2 around 0

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            5. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \color{blue}{\frac{z0}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              2. lower-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\color{blue}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              3. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              4. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)}\right) \]
              5. lower-PI.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
            6. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            7. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \pi\right)}}\right) \]
              2. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\pi}\right)}\right) \]
              3. *-commutativeN/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(\pi \cdot \color{blue}{z2}\right)}\right) \]
              4. associate-*r*N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
              5. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
              6. lower-*.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot z2}\right) \]
            8. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot \pi\right) \cdot \color{blue}{z2}}\right) \]
            9. Add Preprocessing

            Alternative 10: 58.7% accurate, 1.8× speedup?

            \[\tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot z2\right) \cdot \pi}\right) \]
            (FPCore (z2 z0 z1)
              :precision binary64
              (atan (* -0.5 (/ z0 (* (* z1 z2) PI)))))
            double code(double z2, double z0, double z1) {
            	return atan((-0.5 * (z0 / ((z1 * z2) * ((double) M_PI)))));
            }
            
            public static double code(double z2, double z0, double z1) {
            	return Math.atan((-0.5 * (z0 / ((z1 * z2) * Math.PI))));
            }
            
            def code(z2, z0, z1):
            	return math.atan((-0.5 * (z0 / ((z1 * z2) * math.pi))))
            
            function code(z2, z0, z1)
            	return atan(Float64(-0.5 * Float64(z0 / Float64(Float64(z1 * z2) * pi))))
            end
            
            function tmp = code(z2, z0, z1)
            	tmp = atan((-0.5 * (z0 / ((z1 * z2) * pi))));
            end
            
            code[z2_, z0_, z1_] := N[ArcTan[N[(-0.5 * N[(z0 / N[(N[(z1 * z2), $MachinePrecision] * Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
            
            \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot z2\right) \cdot \pi}\right)
            
            Derivation
            1. Initial program 31.5%

              \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
              2. lift-tan.f64N/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
              3. tan-quotN/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
              4. lift-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
              5. frac-timesN/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
              6. lower-/.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
            3. Applied rewrites64.9%

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
            4. Taylor expanded in z2 around 0

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            5. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \color{blue}{\frac{z0}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              2. lower-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\color{blue}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              3. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              4. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)}\right) \]
              5. lower-PI.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
            6. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            7. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \pi\right)}}\right) \]
              2. lift-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\pi}\right)}\right) \]
              3. associate-*r*N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot z2\right) \cdot \color{blue}{\pi}}\right) \]
              4. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\left(z1 \cdot z2\right) \cdot \color{blue}{\pi}}\right) \]
              5. lower-*.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot z2\right) \cdot \pi}\right) \]
            8. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{\left(z1 \cdot z2\right) \cdot \color{blue}{\pi}}\right) \]
            9. Add Preprocessing

            Alternative 11: 58.7% accurate, 1.8× speedup?

            \[\tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
            (FPCore (z2 z0 z1)
              :precision binary64
              (atan (* -0.5 (/ z0 (* z1 (* z2 PI))))))
            double code(double z2, double z0, double z1) {
            	return atan((-0.5 * (z0 / (z1 * (z2 * ((double) M_PI))))));
            }
            
            public static double code(double z2, double z0, double z1) {
            	return Math.atan((-0.5 * (z0 / (z1 * (z2 * Math.PI)))));
            }
            
            def code(z2, z0, z1):
            	return math.atan((-0.5 * (z0 / (z1 * (z2 * math.pi)))))
            
            function code(z2, z0, z1)
            	return atan(Float64(-0.5 * Float64(z0 / Float64(z1 * Float64(z2 * pi)))))
            end
            
            function tmp = code(z2, z0, z1)
            	tmp = atan((-0.5 * (z0 / (z1 * (z2 * pi)))));
            end
            
            code[z2_, z0_, z1_] := N[ArcTan[N[(-0.5 * N[(z0 / N[(z1 * N[(z2 * Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
            
            \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)
            
            Derivation
            1. Initial program 31.5%

              \[\tan^{-1} \left(\tan \left(\left(\left(z2 + z2\right) - -0.5\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right) \]
            2. Step-by-step derivation
              1. lift-*.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot \frac{z0}{z1}\right)} \]
              2. lift-tan.f64N/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\tan \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \frac{z0}{z1}\right) \]
              3. tan-quotN/A

                \[\leadsto \tan^{-1} \left(\color{blue}{\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}} \cdot \frac{z0}{z1}\right) \]
              4. lift-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right)} \cdot \color{blue}{\frac{z0}{z1}}\right) \]
              5. frac-timesN/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
              6. lower-/.f64N/A

                \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\sin \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z0}{\cos \left(\left(\left(z2 + z2\right) - \frac{-1}{2}\right) \cdot \pi\right) \cdot z1}\right)} \]
            3. Applied rewrites64.9%

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{\cos \left(\pi \cdot \left(z2 + z2\right)\right) \cdot z0}{\left(-\sin \left(\pi \cdot \left(z2 + z2\right)\right)\right) \cdot z1}\right)} \]
            4. Taylor expanded in z2 around 0

              \[\leadsto \tan^{-1} \color{blue}{\left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            5. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \color{blue}{\frac{z0}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              2. lower-/.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{\color{blue}{z1 \cdot \left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              3. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \color{blue}{\left(z2 \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
              4. lower-*.f64N/A

                \[\leadsto \tan^{-1} \left(\frac{-1}{2} \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)}\right) \]
              5. lower-PI.f6458.7%

                \[\leadsto \tan^{-1} \left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right) \]
            6. Applied rewrites58.7%

              \[\leadsto \tan^{-1} \color{blue}{\left(-0.5 \cdot \frac{z0}{z1 \cdot \left(z2 \cdot \pi\right)}\right)} \]
            7. Add Preprocessing

            Reproduce

            ?
            herbie shell --seed 2025250 
            (FPCore (z2 z0 z1)
              :name "(atan (* (tan (* (- (+ z2 z2) -1/2) PI)) (/ z0 z1)))"
              :precision binary64
              (atan (* (tan (* (- (+ z2 z2) -0.5) PI)) (/ z0 z1))))