(/ 1 (+ (/ z0 (- (exp (/ -7853981852531433/2500000000000000 z1)) -1)) (/ (- 1 z0) (- (exp (/ PI z1)) -1))))

Percentage Accurate: 78.1% → 99.2%
Time: 4.3s
Alternatives: 21
Speedup: 1.5×

Specification

?
\[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
(FPCore (z0 z1)
  :precision binary64
  (/
 1.0
 (+
  (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
  (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0)))))
double code(double z0, double z1) {
	return 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
}
public static double code(double z0, double z1) {
	return 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
}
def code(z0, z1):
	return 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
function code(z0, z1)
	return Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))))
end
function tmp = code(z0, z1)
	tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
end
code[z0_, z1_] := N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}

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

\[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
(FPCore (z0 z1)
  :precision binary64
  (/
 1.0
 (+
  (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
  (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0)))))
double code(double z0, double z1) {
	return 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
}
public static double code(double z0, double z1) {
	return 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
}
def code(z0, z1):
	return 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
function code(z0, z1)
	return Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))))
end
function tmp = code(z0, z1)
	tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
end
code[z0_, z1_] := N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}

Alternative 1: 99.2% accurate, 0.9× speedup?

\[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ t_1 := e^{\frac{\pi}{z1}} - -1\\ \mathbf{if}\;z1 \leq -300000:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -4 \cdot 10^{-306}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{t\_1}}\\ \mathbf{elif}\;z1 \leq 30000000:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1}{t\_1}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
(FPCore (z0 z1)
  :precision binary64
  (let* ((t_0
        (/
         1.0
         (+
          0.5
          (*
           -1.0
           (/
            (-
             (* -0.25 (* z0 PI))
             (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
            z1)))))
       (t_1 (- (exp (/ PI z1)) -1.0)))
  (if (<= z1 -300000.0)
    t_0
    (if (<= z1 -4e-306)
      (/
       1.0
       (+
        (/
         z0
         (+
          2.0
          (*
           -1.0
           (/
            (+
             3.1415927410125732
             (*
              -1.0
              (/
               (- 4.9348024751914465 (* 5.167713211464109 (/ 1.0 z1)))
               z1)))
            z1))))
        (/ (- 1.0 z0) t_1)))
      (if (<= z1 30000000.0)
        (/
         1.0
         (+
          (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
          (/ 1.0 t_1)))
        t_0)))))
double code(double z0, double z1) {
	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
	double t_1 = exp((((double) M_PI) / z1)) - -1.0;
	double tmp;
	if (z1 <= -300000.0) {
		tmp = t_0;
	} else if (z1 <= -4e-306) {
		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / t_1));
	} else if (z1 <= 30000000.0) {
		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / t_1));
	} else {
		tmp = t_0;
	}
	return tmp;
}
public static double code(double z0, double z1) {
	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
	double t_1 = Math.exp((Math.PI / z1)) - -1.0;
	double tmp;
	if (z1 <= -300000.0) {
		tmp = t_0;
	} else if (z1 <= -4e-306) {
		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / t_1));
	} else if (z1 <= 30000000.0) {
		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / t_1));
	} else {
		tmp = t_0;
	}
	return tmp;
}
def code(z0, z1):
	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
	t_1 = math.exp((math.pi / z1)) - -1.0
	tmp = 0
	if z1 <= -300000.0:
		tmp = t_0
	elif z1 <= -4e-306:
		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / t_1))
	elif z1 <= 30000000.0:
		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / t_1))
	else:
		tmp = t_0
	return tmp
function code(z0, z1)
	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
	t_1 = Float64(exp(Float64(pi / z1)) - -1.0)
	tmp = 0.0
	if (z1 <= -300000.0)
		tmp = t_0;
	elseif (z1 <= -4e-306)
		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 + Float64(-1.0 * Float64(Float64(3.1415927410125732 + Float64(-1.0 * Float64(Float64(4.9348024751914465 - Float64(5.167713211464109 * Float64(1.0 / z1))) / z1))) / z1)))) + Float64(Float64(1.0 - z0) / t_1)));
	elseif (z1 <= 30000000.0)
		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(1.0 / t_1)));
	else
		tmp = t_0;
	end
	return tmp
end
function tmp_2 = code(z0, z1)
	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
	t_1 = exp((pi / z1)) - -1.0;
	tmp = 0.0;
	if (z1 <= -300000.0)
		tmp = t_0;
	elseif (z1 <= -4e-306)
		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / t_1));
	elseif (z1 <= 30000000.0)
		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / t_1));
	else
		tmp = t_0;
	end
	tmp_2 = tmp;
end
code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]}, If[LessEqual[z1, -300000.0], t$95$0, If[LessEqual[z1, -4e-306], N[(1.0 / N[(N[(z0 / N[(2.0 + N[(-1.0 * N[(N[(3.1415927410125732 + N[(-1.0 * N[(N[(4.9348024751914465 - N[(5.167713211464109 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 30000000.0], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(1.0 / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]]
\begin{array}{l}
t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
t_1 := e^{\frac{\pi}{z1}} - -1\\
\mathbf{if}\;z1 \leq -300000:\\
\;\;\;\;t\_0\\

\mathbf{elif}\;z1 \leq -4 \cdot 10^{-306}:\\
\;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{t\_1}}\\

\mathbf{elif}\;z1 \leq 30000000:\\
\;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1}{t\_1}}\\

\mathbf{else}:\\
\;\;\;\;t\_0\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z1 < -3e5 or 3e7 < z1

    1. Initial program 78.1%

      \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
    2. Taylor expanded in z1 around -inf

      \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

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

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. lower-/.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
      4. lower--.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      5. lower-*.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      6. lower-*.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      7. lower-PI.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      8. lower-+.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      9. lower-*.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      10. lower-PI.f64N/A

        \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
      11. lower-*.f6451.8%

        \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
    4. Applied rewrites51.8%

      \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

    if -3e5 < z1 < -4.0000000000000001e-306

    1. Initial program 78.1%

      \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
    2. Taylor expanded in z1 around -inf

      \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + \color{blue}{-1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. lower-*.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \color{blue}{\frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      3. lower-/.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{\color{blue}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      4. lower-+.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      5. lower-*.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      6. lower-/.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      7. lower--.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      8. lower-*.f64N/A

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      9. lower-/.f6453.2%

        \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
    4. Applied rewrites53.2%

      \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

    if -4.0000000000000001e-306 < z1 < 3e7

    1. Initial program 78.1%

      \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
    2. Taylor expanded in z0 around 0

      \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{1}}{e^{\frac{\pi}{z1}} - -1}} \]
    3. Step-by-step derivation
      1. Applied rewrites63.8%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{1}}{e^{\frac{\pi}{z1}} - -1}} \]
    4. Recombined 3 regimes into one program.
    5. Add Preprocessing

    Alternative 2: 98.9% accurate, 0.5× speedup?

    \[\begin{array}{l} t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\ \mathbf{if}\;\frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \leq 2 \cdot 10^{+282}:\\ \;\;\;\;\frac{1}{t\_0 + \frac{1 - z0}{\frac{1}{e^{\frac{-\pi}{z1}}} - -1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0 (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))))
      (if (<=
           (/ 1.0 (+ t_0 (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
           2e+282)
        (/
         1.0
         (+ t_0 (/ (- 1.0 z0) (- (/ 1.0 (exp (/ (- PI) z1))) -1.0))))
        (/
         1.0
         (+
          0.5
          (*
           -1.0
           (/
            (-
             (* -0.25 (* z0 PI))
             (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
            z1)))))))
    double code(double z0, double z1) {
    	double t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
    	double tmp;
    	if ((1.0 / (t_0 + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)))) <= 2e+282) {
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / ((1.0 / exp((-((double) M_PI) / z1))) - -1.0)));
    	} else {
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0);
    	double tmp;
    	if ((1.0 / (t_0 + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)))) <= 2e+282) {
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / ((1.0 / Math.exp((-Math.PI / z1))) - -1.0)));
    	} else {
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)
    	tmp = 0
    	if (1.0 / (t_0 + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))) <= 2e+282:
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / ((1.0 / math.exp((-math.pi / z1))) - -1.0)))
    	else:
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0))
    	tmp = 0.0
    	if (Float64(1.0 / Float64(t_0 + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0)))) <= 2e+282)
    		tmp = Float64(1.0 / Float64(t_0 + Float64(Float64(1.0 - z0) / Float64(Float64(1.0 / exp(Float64(Float64(-pi) / z1))) - -1.0))));
    	else
    		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
    	tmp = 0.0;
    	if ((1.0 / (t_0 + ((1.0 - z0) / (exp((pi / z1)) - -1.0)))) <= 2e+282)
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / ((1.0 / exp((-pi / z1))) - -1.0)));
    	else
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(1.0 / N[(t$95$0 + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2e+282], N[(1.0 / N[(t$95$0 + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[(1.0 / N[Exp[N[((-Pi) / z1), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
    
    \begin{array}{l}
    t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\
    \mathbf{if}\;\frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \leq 2 \cdot 10^{+282}:\\
    \;\;\;\;\frac{1}{t\_0 + \frac{1 - z0}{\frac{1}{e^{\frac{-\pi}{z1}}} - -1}}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 2.0000000000000001e282

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. frac-2negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
        4. distribute-frac-neg2N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
        5. exp-negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        6. distribute-neg-fracN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        7. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        9. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        10. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        11. distribute-neg-fracN/A

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

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        13. lower-neg.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]

      if 2.0000000000000001e282 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))))

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

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

    Alternative 3: 98.8% accurate, 0.5× speedup?

    \[\begin{array}{l} t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\ \mathbf{if}\;\frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \leq 2 \cdot 10^{+282}:\\ \;\;\;\;\frac{1}{t\_0 + \frac{1 - z0}{{23.14069263277927}^{\left(\frac{1}{z1}\right)} - -1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0 (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))))
      (if (<=
           (/ 1.0 (+ t_0 (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
           2e+282)
        (/
         1.0
         (+
          t_0
          (/ (- 1.0 z0) (- (pow 23.14069263277927 (/ 1.0 z1)) -1.0))))
        (/
         1.0
         (+
          0.5
          (*
           -1.0
           (/
            (-
             (* -0.25 (* z0 PI))
             (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
            z1)))))))
    double code(double z0, double z1) {
    	double t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
    	double tmp;
    	if ((1.0 / (t_0 + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)))) <= 2e+282) {
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / (pow(23.14069263277927, (1.0 / z1)) - -1.0)));
    	} else {
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0);
    	double tmp;
    	if ((1.0 / (t_0 + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)))) <= 2e+282) {
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / (Math.pow(23.14069263277927, (1.0 / z1)) - -1.0)));
    	} else {
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)
    	tmp = 0
    	if (1.0 / (t_0 + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))) <= 2e+282:
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / (math.pow(23.14069263277927, (1.0 / z1)) - -1.0)))
    	else:
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0))
    	tmp = 0.0
    	if (Float64(1.0 / Float64(t_0 + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0)))) <= 2e+282)
    		tmp = Float64(1.0 / Float64(t_0 + Float64(Float64(1.0 - z0) / Float64((23.14069263277927 ^ Float64(1.0 / z1)) - -1.0))));
    	else
    		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
    	tmp = 0.0;
    	if ((1.0 / (t_0 + ((1.0 - z0) / (exp((pi / z1)) - -1.0)))) <= 2e+282)
    		tmp = 1.0 / (t_0 + ((1.0 - z0) / ((23.14069263277927 ^ (1.0 / z1)) - -1.0)));
    	else
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(1.0 / N[(t$95$0 + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2e+282], N[(1.0 / N[(t$95$0 + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Power[23.14069263277927, N[(1.0 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
    
    \begin{array}{l}
    t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\
    \mathbf{if}\;\frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \leq 2 \cdot 10^{+282}:\\
    \;\;\;\;\frac{1}{t\_0 + \frac{1 - z0}{{23.14069263277927}^{\left(\frac{1}{z1}\right)} - -1}}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 2.0000000000000001e282

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. mult-flipN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\pi \cdot \frac{1}{z1}}} - -1}} \]
        4. exp-prodN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{{\left(e^{\pi}\right)}^{\left(\frac{1}{z1}\right)}} - -1}} \]
        5. lift-PI.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{{\left(e^{\color{blue}{\mathsf{PI}\left(\right)}}\right)}^{\left(\frac{1}{z1}\right)} - -1}} \]
        6. lower-pow.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{{\left(e^{\mathsf{PI}\left(\right)}\right)}^{\left(\frac{1}{z1}\right)}} - -1}} \]
        7. lift-PI.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{{\left(e^{\color{blue}{\pi}}\right)}^{\left(\frac{1}{z1}\right)} - -1}} \]
        8. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{{\color{blue}{\left(e^{\pi}\right)}}^{\left(\frac{1}{z1}\right)} - -1}} \]
        9. lower-/.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{{\left(e^{\pi}\right)}^{\color{blue}{\left(\frac{1}{z1}\right)}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{{\left(e^{\pi}\right)}^{\left(\frac{1}{z1}\right)}} - -1}} \]
      4. Evaluated real constant78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{{\color{blue}{23.14069263277927}}^{\left(\frac{1}{z1}\right)} - -1}} \]

      if 2.0000000000000001e282 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))))

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

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

    Alternative 4: 98.8% accurate, 0.5× speedup?

    \[\begin{array}{l} t_0 := \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{if}\;t\_0 \leq 2 \cdot 10^{+282}:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0
            (/
             1.0
             (+
              (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
              (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))))
      (if (<= t_0 2e+282)
        t_0
        (/
         1.0
         (+
          0.5
          (*
           -1.0
           (/
            (-
             (* -0.25 (* z0 PI))
             (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
            z1)))))))
    double code(double z0, double z1) {
    	double t_0 = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
    	double tmp;
    	if (t_0 <= 2e+282) {
    		tmp = t_0;
    	} else {
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
    	double tmp;
    	if (t_0 <= 2e+282) {
    		tmp = t_0;
    	} else {
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
    	tmp = 0
    	if t_0 <= 2e+282:
    		tmp = t_0
    	else:
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))))
    	tmp = 0.0
    	if (t_0 <= 2e+282)
    		tmp = t_0;
    	else
    		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
    	tmp = 0.0;
    	if (t_0 <= 2e+282)
    		tmp = t_0;
    	else
    		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$0, 2e+282], t$95$0, N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
    
    \begin{array}{l}
    t_0 := \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
    \mathbf{if}\;t\_0 \leq 2 \cdot 10^{+282}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 2.0000000000000001e282

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

      if 2.0000000000000001e282 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))))

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

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

    Alternative 5: 98.8% accurate, 1.2× speedup?

    \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -300000:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{elif}\;z1 \leq 0.56:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0
            (/
             1.0
             (+
              0.5
              (*
               -1.0
               (/
                (-
                 (* -0.25 (* z0 PI))
                 (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                z1))))))
      (if (<= z1 -300000.0)
        t_0
        (if (<= z1 -5e-310)
          (/
           1.0
           (+
            (/
             z0
             (+
              2.0
              (*
               -1.0
               (/
                (+
                 3.1415927410125732
                 (*
                  -1.0
                  (/
                   (- 4.9348024751914465 (* 5.167713211464109 (/ 1.0 z1)))
                   z1)))
                z1))))
            (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
          (if (<= z1 0.56)
            (/
             1.0
             (+
              (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
              (/ (* -1.0 z0) (+ 2.0 (/ PI z1)))))
            t_0)))))
    double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -300000.0) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (((double) M_PI) / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -300000.0) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (Math.PI / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	tmp = 0
    	if z1 <= -300000.0:
    		tmp = t_0
    	elif z1 <= -5e-310:
    		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
    	elif z1 <= 0.56:
    		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (math.pi / z1))))
    	else:
    		tmp = t_0
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
    	tmp = 0.0
    	if (z1 <= -300000.0)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 + Float64(-1.0 * Float64(Float64(3.1415927410125732 + Float64(-1.0 * Float64(Float64(4.9348024751914465 - Float64(5.167713211464109 * Float64(1.0 / z1))) / z1))) / z1)))) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))));
    	elseif (z1 <= 0.56)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(-1.0 * z0) / Float64(2.0 + Float64(pi / z1)))));
    	else
    		tmp = t_0;
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	tmp = 0.0;
    	if (z1 <= -300000.0)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
    	elseif (z1 <= 0.56)
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (pi / z1))));
    	else
    		tmp = t_0;
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -300000.0], t$95$0, If[LessEqual[z1, -5e-310], N[(1.0 / N[(N[(z0 / N[(2.0 + N[(-1.0 * N[(N[(3.1415927410125732 + N[(-1.0 * N[(N[(4.9348024751914465 - N[(5.167713211464109 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 0.56], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(-1.0 * z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
    
    \begin{array}{l}
    t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    \mathbf{if}\;z1 \leq -300000:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\
    \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
    
    \mathbf{elif}\;z1 \leq 0.56:\\
    \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_0\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if z1 < -3e5 or 0.56000000000000005 < z1

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

      if -3e5 < z1 < -4.9999999999999847e-310

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + \color{blue}{-1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        2. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \color{blue}{\frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{\color{blue}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        4. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        6. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        7. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        8. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        9. lower-/.f6453.2%

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      4. Applied rewrites53.2%

        \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

      if -4.9999999999999847e-310 < z1 < 0.56000000000000005

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. frac-2negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
        4. distribute-frac-neg2N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
        5. exp-negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        6. distribute-neg-fracN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        7. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        9. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        10. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        11. distribute-neg-fracN/A

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

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        13. lower-neg.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
      4. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      5. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
        2. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
        3. lower-PI.f6446.9%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
      6. Applied rewrites46.9%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      7. Taylor expanded in z0 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
      8. Step-by-step derivation
        1. lower-*.f6427.0%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot \color{blue}{z0}}{2 + \frac{\pi}{z1}}} \]
      9. Applied rewrites27.0%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 6: 98.8% accurate, 1.4× speedup?

    \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -280000:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 - \frac{3.1415927410125732 - \frac{4.9348024751914465}{z1}}{z1}} - \frac{-1 + z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{elif}\;z1 \leq 0.56:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0
            (/
             1.0
             (+
              0.5
              (*
               -1.0
               (/
                (-
                 (* -0.25 (* z0 PI))
                 (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                z1))))))
      (if (<= z1 -280000.0)
        t_0
        (if (<= z1 -5e-310)
          (/
           1.0
           (-
            (/
             z0
             (-
              2.0
              (/ (- 3.1415927410125732 (/ 4.9348024751914465 z1)) z1)))
            (/ (+ -1.0 z0) (- (exp (/ PI z1)) -1.0))))
          (if (<= z1 0.56)
            (/
             1.0
             (+
              (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
              (/ (* -1.0 z0) (+ 2.0 (/ PI z1)))))
            t_0)))))
    double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -280000.0) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((z0 / (2.0 - ((3.1415927410125732 - (4.9348024751914465 / z1)) / z1))) - ((-1.0 + z0) / (exp((((double) M_PI) / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (((double) M_PI) / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -280000.0) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((z0 / (2.0 - ((3.1415927410125732 - (4.9348024751914465 / z1)) / z1))) - ((-1.0 + z0) / (Math.exp((Math.PI / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (Math.PI / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	tmp = 0
    	if z1 <= -280000.0:
    		tmp = t_0
    	elif z1 <= -5e-310:
    		tmp = 1.0 / ((z0 / (2.0 - ((3.1415927410125732 - (4.9348024751914465 / z1)) / z1))) - ((-1.0 + z0) / (math.exp((math.pi / z1)) - -1.0)))
    	elif z1 <= 0.56:
    		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (math.pi / z1))))
    	else:
    		tmp = t_0
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
    	tmp = 0.0
    	if (z1 <= -280000.0)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 - Float64(Float64(3.1415927410125732 - Float64(4.9348024751914465 / z1)) / z1))) - Float64(Float64(-1.0 + z0) / Float64(exp(Float64(pi / z1)) - -1.0))));
    	elseif (z1 <= 0.56)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(-1.0 * z0) / Float64(2.0 + Float64(pi / z1)))));
    	else
    		tmp = t_0;
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	tmp = 0.0;
    	if (z1 <= -280000.0)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = 1.0 / ((z0 / (2.0 - ((3.1415927410125732 - (4.9348024751914465 / z1)) / z1))) - ((-1.0 + z0) / (exp((pi / z1)) - -1.0)));
    	elseif (z1 <= 0.56)
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (pi / z1))));
    	else
    		tmp = t_0;
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -280000.0], t$95$0, If[LessEqual[z1, -5e-310], N[(1.0 / N[(N[(z0 / N[(2.0 - N[(N[(3.1415927410125732 - N[(4.9348024751914465 / z1), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(-1.0 + z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 0.56], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(-1.0 * z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
    
    \begin{array}{l}
    t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    \mathbf{if}\;z1 \leq -280000:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\
    \;\;\;\;\frac{1}{\frac{z0}{2 - \frac{3.1415927410125732 - \frac{4.9348024751914465}{z1}}{z1}} - \frac{-1 + z0}{e^{\frac{\pi}{z1}} - -1}}\\
    
    \mathbf{elif}\;z1 \leq 0.56:\\
    \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_0\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if z1 < -2.8e5 or 0.56000000000000005 < z1

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

      if -2.8e5 < z1 < -4.9999999999999847e-310

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + \color{blue}{-1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        2. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \color{blue}{\frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{\color{blue}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        6. lower-/.f6453.5%

          \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 - 4.9348024751914465 \cdot \frac{1}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      4. Applied rewrites53.5%

        \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{3.1415927410125732 - 4.9348024751914465 \cdot \frac{1}{z1}}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      5. Step-by-step derivation
        1. lift-+.f64N/A

          \[\leadsto \frac{1}{\color{blue}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}} \]
        2. add-flipN/A

          \[\leadsto \frac{1}{\color{blue}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} - \left(\mathsf{neg}\left(\frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}\right)\right)}} \]
        3. lower--.f64N/A

          \[\leadsto \frac{1}{\color{blue}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} - \left(\mathsf{neg}\left(\frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}\right)\right)}} \]
      6. Applied rewrites53.5%

        \[\leadsto \frac{1}{\color{blue}{\frac{z0}{2 - \frac{3.1415927410125732 - \frac{4.9348024751914465}{z1}}{z1}} - \frac{-1 + z0}{e^{\frac{\pi}{z1}} - -1}}} \]

      if -4.9999999999999847e-310 < z1 < 0.56000000000000005

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. frac-2negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
        4. distribute-frac-neg2N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
        5. exp-negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        6. distribute-neg-fracN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        7. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        9. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        10. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        11. distribute-neg-fracN/A

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

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        13. lower-neg.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
      4. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      5. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
        2. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
        3. lower-PI.f6446.9%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
      6. Applied rewrites46.9%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      7. Taylor expanded in z0 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
      8. Step-by-step derivation
        1. lower-*.f6427.0%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot \color{blue}{z0}}{2 + \frac{\pi}{z1}}} \]
      9. Applied rewrites27.0%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 7: 98.6% accurate, 1.4× speedup?

    \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -1.4:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{elif}\;z1 \leq 0.56:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0
            (/
             1.0
             (+
              0.5
              (*
               -1.0
               (/
                (-
                 (* -0.25 (* z0 PI))
                 (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                z1))))))
      (if (<= z1 -1.4)
        t_0
        (if (<= z1 -5e-310)
          (/
           1.0
           (+
            (/ z0 (- 2.0 (* 3.1415927410125732 (/ 1.0 z1))))
            (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
          (if (<= z1 0.56)
            (/
             1.0
             (+
              (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
              (/ (* -1.0 z0) (+ 2.0 (/ PI z1)))))
            t_0)))))
    double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -1.4) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (((double) M_PI) / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -1.4) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (Math.PI / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	tmp = 0
    	if z1 <= -1.4:
    		tmp = t_0
    	elif z1 <= -5e-310:
    		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
    	elif z1 <= 0.56:
    		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (math.pi / z1))))
    	else:
    		tmp = t_0
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
    	tmp = 0.0
    	if (z1 <= -1.4)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 - Float64(3.1415927410125732 * Float64(1.0 / z1)))) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))));
    	elseif (z1 <= 0.56)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(-1.0 * z0) / Float64(2.0 + Float64(pi / z1)))));
    	else
    		tmp = t_0;
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	tmp = 0.0;
    	if (z1 <= -1.4)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
    	elseif (z1 <= 0.56)
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (pi / z1))));
    	else
    		tmp = t_0;
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -1.4], t$95$0, If[LessEqual[z1, -5e-310], N[(1.0 / N[(N[(z0 / N[(2.0 - N[(3.1415927410125732 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 0.56], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(-1.0 * z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
    
    \begin{array}{l}
    t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    \mathbf{if}\;z1 \leq -1.4:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\
    \;\;\;\;\frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{z1}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
    
    \mathbf{elif}\;z1 \leq 0.56:\\
    \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_0\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if z1 < -1.3999999999999999 or 0.56000000000000005 < z1

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

      if -1.3999999999999999 < z1 < -4.9999999999999847e-310

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 - \frac{7853981852531433}{2500000000000000} \cdot \frac{1}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      3. Step-by-step derivation
        1. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 - \color{blue}{\frac{7853981852531433}{2500000000000000} \cdot \frac{1}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        2. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{2 - \frac{7853981852531433}{2500000000000000} \cdot \color{blue}{\frac{1}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        3. lower-/.f6452.9%

          \[\leadsto \frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{\color{blue}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      4. Applied rewrites52.9%

        \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 - 3.1415927410125732 \cdot \frac{1}{z1}}} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

      if -4.9999999999999847e-310 < z1 < 0.56000000000000005

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. frac-2negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
        4. distribute-frac-neg2N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
        5. exp-negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        6. distribute-neg-fracN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        7. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        9. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        10. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        11. distribute-neg-fracN/A

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

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        13. lower-neg.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
      4. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      5. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
        2. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
        3. lower-PI.f6446.9%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
      6. Applied rewrites46.9%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      7. Taylor expanded in z0 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
      8. Step-by-step derivation
        1. lower-*.f6427.0%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot \color{blue}{z0}}{2 + \frac{\pi}{z1}}} \]
      9. Applied rewrites27.0%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 8: 88.5% accurate, 1.4× speedup?

    \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -1.35:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{elif}\;z1 \leq 0.56:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0
            (/
             1.0
             (+
              0.5
              (*
               -1.0
               (/
                (-
                 (* -0.25 (* z0 PI))
                 (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                z1))))))
      (if (<= z1 -1.35)
        t_0
        (if (<= z1 -5e-310)
          (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
          (if (<= z1 0.56)
            (/
             1.0
             (+
              (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
              (/ (* -1.0 z0) (+ 2.0 (/ PI z1)))))
            t_0)))))
    double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -1.35) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (((double) M_PI) / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -1.35) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
    	} else if (z1 <= 0.56) {
    		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (Math.PI / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	tmp = 0
    	if z1 <= -1.35:
    		tmp = t_0
    	elif z1 <= -5e-310:
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
    	elif z1 <= 0.56:
    		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (math.pi / z1))))
    	else:
    		tmp = t_0
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
    	tmp = 0.0
    	if (z1 <= -1.35)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))));
    	elseif (z1 <= 0.56)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(-1.0 * z0) / Float64(2.0 + Float64(pi / z1)))));
    	else
    		tmp = t_0;
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	tmp = 0.0;
    	if (z1 <= -1.35)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
    	elseif (z1 <= 0.56)
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((-1.0 * z0) / (2.0 + (pi / z1))));
    	else
    		tmp = t_0;
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -1.35], t$95$0, If[LessEqual[z1, -5e-310], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 0.56], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(-1.0 * z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
    
    \begin{array}{l}
    t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    \mathbf{if}\;z1 \leq -1.35:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\
    \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
    
    \mathbf{elif}\;z1 \leq 0.56:\\
    \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot z0}{2 + \frac{\pi}{z1}}}\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_0\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if z1 < -1.3500000000000001 or 0.56000000000000005 < z1

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

      if -1.3500000000000001 < z1 < -4.9999999999999847e-310

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      3. Step-by-step derivation
        1. lower-*.f6446.8%

          \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      4. Applied rewrites46.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

      if -4.9999999999999847e-310 < z1 < 0.56000000000000005

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. frac-2negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
        4. distribute-frac-neg2N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
        5. exp-negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        6. distribute-neg-fracN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        7. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        9. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        10. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        11. distribute-neg-fracN/A

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

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        13. lower-neg.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
      4. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      5. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
        2. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
        3. lower-PI.f6446.9%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
      6. Applied rewrites46.9%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      7. Taylor expanded in z0 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
      8. Step-by-step derivation
        1. lower-*.f6427.0%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1 \cdot \color{blue}{z0}}{2 + \frac{\pi}{z1}}} \]
      9. Applied rewrites27.0%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{-1 \cdot z0}}{2 + \frac{\pi}{z1}}} \]
    3. Recombined 3 regimes into one program.
    4. Add Preprocessing

    Alternative 9: 83.1% accurate, 1.5× speedup?

    \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -1.35:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{elif}\;z1 \leq 30000000:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
    (FPCore (z0 z1)
      :precision binary64
      (let* ((t_0
            (/
             1.0
             (+
              0.5
              (*
               -1.0
               (/
                (-
                 (* -0.25 (* z0 PI))
                 (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                z1))))))
      (if (<= z1 -1.35)
        t_0
        (if (<= z1 -5e-310)
          (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
          (if (<= z1 30000000.0)
            (/
             1.0
             (+
              (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
              (/ 1.0 (+ 2.0 (/ PI z1)))))
            t_0)))))
    double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -1.35) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
    	} else if (z1 <= 30000000.0) {
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / (2.0 + (((double) M_PI) / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    public static double code(double z0, double z1) {
    	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
    	double tmp;
    	if (z1 <= -1.35) {
    		tmp = t_0;
    	} else if (z1 <= -5e-310) {
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
    	} else if (z1 <= 30000000.0) {
    		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / (2.0 + (Math.PI / z1))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    def code(z0, z1):
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
    	tmp = 0
    	if z1 <= -1.35:
    		tmp = t_0
    	elif z1 <= -5e-310:
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
    	elif z1 <= 30000000.0:
    		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / (2.0 + (math.pi / z1))))
    	else:
    		tmp = t_0
    	return tmp
    
    function code(z0, z1)
    	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
    	tmp = 0.0
    	if (z1 <= -1.35)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))));
    	elseif (z1 <= 30000000.0)
    		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(1.0 / Float64(2.0 + Float64(pi / z1)))));
    	else
    		tmp = t_0;
    	end
    	return tmp
    end
    
    function tmp_2 = code(z0, z1)
    	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
    	tmp = 0.0;
    	if (z1 <= -1.35)
    		tmp = t_0;
    	elseif (z1 <= -5e-310)
    		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
    	elseif (z1 <= 30000000.0)
    		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + (1.0 / (2.0 + (pi / z1))));
    	else
    		tmp = t_0;
    	end
    	tmp_2 = tmp;
    end
    
    code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -1.35], t$95$0, If[LessEqual[z1, -5e-310], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 30000000.0], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(1.0 / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
    
    \begin{array}{l}
    t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
    \mathbf{if}\;z1 \leq -1.35:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;z1 \leq -5 \cdot 10^{-310}:\\
    \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
    
    \mathbf{elif}\;z1 \leq 30000000:\\
    \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1}{2 + \frac{\pi}{z1}}}\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_0\\
    
    
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if z1 < -1.3500000000000001 or 3e7 < z1

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around -inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
      3. Step-by-step derivation
        1. lower-+.f64N/A

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

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
        4. lower--.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        6. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        7. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        8. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        9. lower-*.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        10. lower-PI.f64N/A

          \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
        11. lower-*.f6451.8%

          \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
      4. Applied rewrites51.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

      if -1.3500000000000001 < z1 < -4.9999999999999847e-310

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      3. Step-by-step derivation
        1. lower-*.f6446.8%

          \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      4. Applied rewrites46.8%

        \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

      if -4.9999999999999847e-310 < z1 < 3e7

      1. Initial program 78.1%

        \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
      2. Step-by-step derivation
        1. lift-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
        2. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
        3. frac-2negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
        4. distribute-frac-neg2N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
        5. exp-negN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        6. distribute-neg-fracN/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        7. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        9. lower-exp.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
        10. lift-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
        11. distribute-neg-fracN/A

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

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
        13. lower-neg.f6478.1%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
      3. Applied rewrites78.1%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
      4. Taylor expanded in z1 around inf

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      5. Step-by-step derivation
        1. lower-+.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
        2. lower-/.f64N/A

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
        3. lower-PI.f6446.9%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
      6. Applied rewrites46.9%

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
      7. Taylor expanded in z0 around 0

        \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{1}}{2 + \frac{\pi}{z1}}} \]
      8. Step-by-step derivation
        1. Applied rewrites45.4%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{\color{blue}{1}}{2 + \frac{\pi}{z1}}} \]
      9. Recombined 3 regimes into one program.
      10. Add Preprocessing

      Alternative 10: 76.2% accurate, 1.6× speedup?

      \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -1.35:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq -1.2 \cdot 10^{-306}:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{elif}\;z1 \leq 390000000:\\ \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot 1}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
      (FPCore (z0 z1)
        :precision binary64
        (let* ((t_0
              (/
               1.0
               (+
                0.5
                (*
                 -1.0
                 (/
                  (-
                   (* -0.25 (* z0 PI))
                   (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                  z1))))))
        (if (<= z1 -1.35)
          t_0
          (if (<= z1 -1.2e-306)
            (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))
            (if (<= z1 390000000.0)
              (/
               1.0
               (+
                (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
                (* 0.5 1.0)))
              t_0)))))
      double code(double z0, double z1) {
      	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
      	double tmp;
      	if (z1 <= -1.35) {
      		tmp = t_0;
      	} else if (z1 <= -1.2e-306) {
      		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
      	} else if (z1 <= 390000000.0) {
      		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + (0.5 * 1.0));
      	} else {
      		tmp = t_0;
      	}
      	return tmp;
      }
      
      public static double code(double z0, double z1) {
      	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
      	double tmp;
      	if (z1 <= -1.35) {
      		tmp = t_0;
      	} else if (z1 <= -1.2e-306) {
      		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
      	} else if (z1 <= 390000000.0) {
      		tmp = 1.0 / ((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + (0.5 * 1.0));
      	} else {
      		tmp = t_0;
      	}
      	return tmp;
      }
      
      def code(z0, z1):
      	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
      	tmp = 0
      	if z1 <= -1.35:
      		tmp = t_0
      	elif z1 <= -1.2e-306:
      		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
      	elif z1 <= 390000000.0:
      		tmp = 1.0 / ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + (0.5 * 1.0))
      	else:
      		tmp = t_0
      	return tmp
      
      function code(z0, z1)
      	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
      	tmp = 0.0
      	if (z1 <= -1.35)
      		tmp = t_0;
      	elseif (z1 <= -1.2e-306)
      		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))));
      	elseif (z1 <= 390000000.0)
      		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(0.5 * 1.0)));
      	else
      		tmp = t_0;
      	end
      	return tmp
      end
      
      function tmp_2 = code(z0, z1)
      	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
      	tmp = 0.0;
      	if (z1 <= -1.35)
      		tmp = t_0;
      	elseif (z1 <= -1.2e-306)
      		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
      	elseif (z1 <= 390000000.0)
      		tmp = 1.0 / ((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + (0.5 * 1.0));
      	else
      		tmp = t_0;
      	end
      	tmp_2 = tmp;
      end
      
      code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -1.35], t$95$0, If[LessEqual[z1, -1.2e-306], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 390000000.0], N[(1.0 / N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(0.5 * 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
      
      \begin{array}{l}
      t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
      \mathbf{if}\;z1 \leq -1.35:\\
      \;\;\;\;t\_0\\
      
      \mathbf{elif}\;z1 \leq -1.2 \cdot 10^{-306}:\\
      \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
      
      \mathbf{elif}\;z1 \leq 390000000:\\
      \;\;\;\;\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot 1}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_0\\
      
      
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if z1 < -1.3500000000000001 or 3.9e8 < z1

        1. Initial program 78.1%

          \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        2. Taylor expanded in z1 around -inf

          \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
        3. Step-by-step derivation
          1. lower-+.f64N/A

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

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
          3. lower-/.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
          4. lower--.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          5. lower-*.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          6. lower-*.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          7. lower-PI.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          8. lower-+.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          9. lower-*.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          10. lower-PI.f64N/A

            \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
          11. lower-*.f6451.8%

            \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
        4. Applied rewrites51.8%

          \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

        if -1.3500000000000001 < z1 < -1.2e-306

        1. Initial program 78.1%

          \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        2. Taylor expanded in z1 around inf

          \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        3. Step-by-step derivation
          1. lower-*.f6446.8%

            \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        4. Applied rewrites46.8%

          \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]

        if -1.2e-306 < z1 < 3.9e8

        1. Initial program 78.1%

          \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
        2. Taylor expanded in z1 around inf

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
        3. Step-by-step derivation
          1. lower-*.f64N/A

            \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
          2. lower--.f6434.3%

            \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
        4. Applied rewrites34.3%

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
        5. Taylor expanded in z0 around 0

          \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot 1} \]
        6. Step-by-step derivation
          1. Applied rewrites40.9%

            \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot 1} \]
        7. Recombined 3 regimes into one program.
        8. Add Preprocessing

        Alternative 11: 73.1% accurate, 0.4× speedup?

        \[\begin{array}{l} t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\ t_1 := \frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{if}\;t\_1 \leq 5 \cdot 10^{-56}:\\ \;\;\;\;\frac{1}{t\_0 + 0.5 \cdot 1}\\ \mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+282}:\\ \;\;\;\;1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \end{array} \]
        (FPCore (z0 z1)
          :precision binary64
          (let* ((t_0 (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0)))
               (t_1 (/ 1.0 (+ t_0 (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))))
          (if (<= t_1 5e-56)
            (/ 1.0 (+ t_0 (* 0.5 1.0)))
            (if (<= t_1 2e+282)
              (+ 1.0 (/ 1.0 (exp (* -1.0 (/ PI z1)))))
              (/
               1.0
               (+
                0.5
                (*
                 -1.0
                 (/
                  (-
                   (* -0.25 (* z0 PI))
                   (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                  z1))))))))
        double code(double z0, double z1) {
        	double t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
        	double t_1 = 1.0 / (t_0 + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
        	double tmp;
        	if (t_1 <= 5e-56) {
        		tmp = 1.0 / (t_0 + (0.5 * 1.0));
        	} else if (t_1 <= 2e+282) {
        		tmp = 1.0 + (1.0 / exp((-1.0 * (((double) M_PI) / z1))));
        	} else {
        		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
        	}
        	return tmp;
        }
        
        public static double code(double z0, double z1) {
        	double t_0 = z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0);
        	double t_1 = 1.0 / (t_0 + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
        	double tmp;
        	if (t_1 <= 5e-56) {
        		tmp = 1.0 / (t_0 + (0.5 * 1.0));
        	} else if (t_1 <= 2e+282) {
        		tmp = 1.0 + (1.0 / Math.exp((-1.0 * (Math.PI / z1))));
        	} else {
        		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
        	}
        	return tmp;
        }
        
        def code(z0, z1):
        	t_0 = z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)
        	t_1 = 1.0 / (t_0 + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
        	tmp = 0
        	if t_1 <= 5e-56:
        		tmp = 1.0 / (t_0 + (0.5 * 1.0))
        	elif t_1 <= 2e+282:
        		tmp = 1.0 + (1.0 / math.exp((-1.0 * (math.pi / z1))))
        	else:
        		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
        	return tmp
        
        function code(z0, z1)
        	t_0 = Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0))
        	t_1 = Float64(1.0 / Float64(t_0 + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))))
        	tmp = 0.0
        	if (t_1 <= 5e-56)
        		tmp = Float64(1.0 / Float64(t_0 + Float64(0.5 * 1.0)));
        	elseif (t_1 <= 2e+282)
        		tmp = Float64(1.0 + Float64(1.0 / exp(Float64(-1.0 * Float64(pi / z1)))));
        	else
        		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
        	end
        	return tmp
        end
        
        function tmp_2 = code(z0, z1)
        	t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
        	t_1 = 1.0 / (t_0 + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
        	tmp = 0.0;
        	if (t_1 <= 5e-56)
        		tmp = 1.0 / (t_0 + (0.5 * 1.0));
        	elseif (t_1 <= 2e+282)
        		tmp = 1.0 + (1.0 / exp((-1.0 * (pi / z1))));
        	else
        		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
        	end
        	tmp_2 = tmp;
        end
        
        code[z0_, z1_] := Block[{t$95$0 = N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(1.0 / N[(t$95$0 + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, 5e-56], N[(1.0 / N[(t$95$0 + N[(0.5 * 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 2e+282], N[(1.0 + N[(1.0 / N[Exp[N[(-1.0 * N[(Pi / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
        
        \begin{array}{l}
        t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\
        t_1 := \frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
        \mathbf{if}\;t\_1 \leq 5 \cdot 10^{-56}:\\
        \;\;\;\;\frac{1}{t\_0 + 0.5 \cdot 1}\\
        
        \mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+282}:\\
        \;\;\;\;1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
        
        
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 5e-56

          1. Initial program 78.1%

            \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
          2. Taylor expanded in z1 around inf

            \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
          3. Step-by-step derivation
            1. lower-*.f64N/A

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
            2. lower--.f6434.3%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
          4. Applied rewrites34.3%

            \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
          5. Taylor expanded in z0 around 0

            \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot 1} \]
          6. Step-by-step derivation
            1. Applied rewrites40.9%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot 1} \]

            if 5e-56 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 2.0000000000000001e282

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z0 around 0

              \[\leadsto \color{blue}{1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto 1 + \frac{1}{\color{blue}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              3. lower-exp.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              4. lower-*.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              5. lower-/.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              6. lower-PI.f6451.3%

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}} \]
            6. Applied rewrites51.3%

              \[\leadsto \color{blue}{1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}} \]

            if 2.0000000000000001e282 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))))

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]
          7. Recombined 3 regimes into one program.
          8. Add Preprocessing

          Alternative 12: 67.2% accurate, 0.4× speedup?

          \[\begin{array}{l} t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\ t_1 := \frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\ \mathbf{if}\;t\_1 \leq 4 \cdot 10^{-16}:\\ \;\;\;\;\frac{1}{t\_0 + -0.5 \cdot z0}\\ \mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+282}:\\ \;\;\;\;1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (let* ((t_0 (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0)))
                 (t_1 (/ 1.0 (+ t_0 (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0))))))
            (if (<= t_1 4e-16)
              (/ 1.0 (+ t_0 (* -0.5 z0)))
              (if (<= t_1 2e+282)
                (+ 1.0 (/ 1.0 (exp (* -1.0 (/ PI z1)))))
                (/
                 1.0
                 (+
                  0.5
                  (*
                   -1.0
                   (/
                    (-
                     (* -0.25 (* z0 PI))
                     (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                    z1))))))))
          double code(double z0, double z1) {
          	double t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
          	double t_1 = 1.0 / (t_0 + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0)));
          	double tmp;
          	if (t_1 <= 4e-16) {
          		tmp = 1.0 / (t_0 + (-0.5 * z0));
          	} else if (t_1 <= 2e+282) {
          		tmp = 1.0 + (1.0 / exp((-1.0 * (((double) M_PI) / z1))));
          	} else {
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double t_0 = z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0);
          	double t_1 = 1.0 / (t_0 + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0)));
          	double tmp;
          	if (t_1 <= 4e-16) {
          		tmp = 1.0 / (t_0 + (-0.5 * z0));
          	} else if (t_1 <= 2e+282) {
          		tmp = 1.0 + (1.0 / Math.exp((-1.0 * (Math.PI / z1))));
          	} else {
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	t_0 = z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)
          	t_1 = 1.0 / (t_0 + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0)))
          	tmp = 0
          	if t_1 <= 4e-16:
          		tmp = 1.0 / (t_0 + (-0.5 * z0))
          	elif t_1 <= 2e+282:
          		tmp = 1.0 + (1.0 / math.exp((-1.0 * (math.pi / z1))))
          	else:
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
          	return tmp
          
          function code(z0, z1)
          	t_0 = Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0))
          	t_1 = Float64(1.0 / Float64(t_0 + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))))
          	tmp = 0.0
          	if (t_1 <= 4e-16)
          		tmp = Float64(1.0 / Float64(t_0 + Float64(-0.5 * z0)));
          	elseif (t_1 <= 2e+282)
          		tmp = Float64(1.0 + Float64(1.0 / exp(Float64(-1.0 * Float64(pi / z1)))));
          	else
          		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	t_0 = z0 / (exp((-3.1415927410125732 / z1)) - -1.0);
          	t_1 = 1.0 / (t_0 + ((1.0 - z0) / (exp((pi / z1)) - -1.0)));
          	tmp = 0.0;
          	if (t_1 <= 4e-16)
          		tmp = 1.0 / (t_0 + (-0.5 * z0));
          	elseif (t_1 <= 2e+282)
          		tmp = 1.0 + (1.0 / exp((-1.0 * (pi / z1))));
          	else
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := Block[{t$95$0 = N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(1.0 / N[(t$95$0 + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, 4e-16], N[(1.0 / N[(t$95$0 + N[(-0.5 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 2e+282], N[(1.0 + N[(1.0 / N[Exp[N[(-1.0 * N[(Pi / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
          
          \begin{array}{l}
          t_0 := \frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1}\\
          t_1 := \frac{1}{t\_0 + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}}\\
          \mathbf{if}\;t\_1 \leq 4 \cdot 10^{-16}:\\
          \;\;\;\;\frac{1}{t\_0 + -0.5 \cdot z0}\\
          
          \mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+282}:\\
          \;\;\;\;1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}\\
          
          \mathbf{else}:\\
          \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 3.9999999999999999e-16

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
            3. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
              2. lower--.f6434.3%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
            4. Applied rewrites34.3%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
            5. Taylor expanded in z0 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{-1}{2} \cdot \color{blue}{z0}} \]
            6. Step-by-step derivation
              1. lower-*.f649.0%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + -0.5 \cdot z0} \]
            7. Applied rewrites9.0%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + -0.5 \cdot \color{blue}{z0}} \]

            if 3.9999999999999999e-16 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))) < 2.0000000000000001e282

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z0 around 0

              \[\leadsto \color{blue}{1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto 1 + \frac{1}{\color{blue}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              3. lower-exp.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              4. lower-*.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              5. lower-/.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              6. lower-PI.f6451.3%

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}} \]
            6. Applied rewrites51.3%

              \[\leadsto \color{blue}{1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}} \]

            if 2.0000000000000001e282 < (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))))

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

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

          Alternative 13: 63.2% accurate, 0.7× speedup?

          \[\begin{array}{l} \mathbf{if}\;\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1} \leq 0:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{else}:\\ \;\;\;\;1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (if (<=
               (+
                (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
                (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0)))
               0.0)
            (/
             1.0
             (+
              0.5
              (*
               -1.0
               (/
                (-
                 (* -0.25 (* z0 PI))
                 (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                z1))))
            (+ 1.0 (/ 1.0 (exp (* -1.0 (/ PI z1)))))))
          double code(double z0, double z1) {
          	double tmp;
          	if (((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((((double) M_PI) / z1)) - -1.0))) <= 0.0) {
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
          	} else {
          		tmp = 1.0 + (1.0 / exp((-1.0 * (((double) M_PI) / z1))));
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double tmp;
          	if (((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (Math.exp((Math.PI / z1)) - -1.0))) <= 0.0) {
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
          	} else {
          		tmp = 1.0 + (1.0 / Math.exp((-1.0 * (Math.PI / z1))));
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	tmp = 0
          	if ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (math.exp((math.pi / z1)) - -1.0))) <= 0.0:
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
          	else:
          		tmp = 1.0 + (1.0 / math.exp((-1.0 * (math.pi / z1))))
          	return tmp
          
          function code(z0, z1)
          	tmp = 0.0
          	if (Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(1.0 - z0) / Float64(exp(Float64(pi / z1)) - -1.0))) <= 0.0)
          		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
          	else
          		tmp = Float64(1.0 + Float64(1.0 / exp(Float64(-1.0 * Float64(pi / z1)))));
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	tmp = 0.0;
          	if (((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (exp((pi / z1)) - -1.0))) <= 0.0)
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
          	else
          		tmp = 1.0 + (1.0 / exp((-1.0 * (pi / z1))));
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := If[LessEqual[N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0], N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 + N[(1.0 / N[Exp[N[(-1.0 * N[(Pi / z1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
          
          \begin{array}{l}
          \mathbf{if}\;\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1} \leq 0:\\
          \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
          
          \mathbf{else}:\\
          \;\;\;\;1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))) < 0.0

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

            if 0.0 < (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z0 around 0

              \[\leadsto \color{blue}{1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto 1 + \frac{1}{\color{blue}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              3. lower-exp.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              4. lower-*.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              5. lower-/.f64N/A

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{z1}}} \]
              6. lower-PI.f6451.3%

                \[\leadsto 1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}} \]
            6. Applied rewrites51.3%

              \[\leadsto \color{blue}{1 + \frac{1}{e^{-1 \cdot \frac{\pi}{z1}}}} \]
          3. Recombined 2 regimes into one program.
          4. Add Preprocessing

          Alternative 14: 63.2% accurate, 0.7× speedup?

          \[\begin{array}{l} t_0 := e^{\frac{\pi}{z1}}\\ \mathbf{if}\;\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{t\_0 - -1} \leq 0:\\ \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{else}:\\ \;\;\;\;1 + t\_0\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (let* ((t_0 (exp (/ PI z1))))
            (if (<=
                 (+
                  (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0))
                  (/ (- 1.0 z0) (- t_0 -1.0)))
                 0.0)
              (/
               1.0
               (+
                0.5
                (*
                 -1.0
                 (/
                  (-
                   (* -0.25 (* z0 PI))
                   (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                  z1))))
              (+ 1.0 t_0))))
          double code(double z0, double z1) {
          	double t_0 = exp((((double) M_PI) / z1));
          	double tmp;
          	if (((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (t_0 - -1.0))) <= 0.0) {
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
          	} else {
          		tmp = 1.0 + t_0;
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double t_0 = Math.exp((Math.PI / z1));
          	double tmp;
          	if (((z0 / (Math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (t_0 - -1.0))) <= 0.0) {
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
          	} else {
          		tmp = 1.0 + t_0;
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	t_0 = math.exp((math.pi / z1))
          	tmp = 0
          	if ((z0 / (math.exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (t_0 - -1.0))) <= 0.0:
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
          	else:
          		tmp = 1.0 + t_0
          	return tmp
          
          function code(z0, z1)
          	t_0 = exp(Float64(pi / z1))
          	tmp = 0.0
          	if (Float64(Float64(z0 / Float64(exp(Float64(-3.1415927410125732 / z1)) - -1.0)) + Float64(Float64(1.0 - z0) / Float64(t_0 - -1.0))) <= 0.0)
          		tmp = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))));
          	else
          		tmp = Float64(1.0 + t_0);
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	t_0 = exp((pi / z1));
          	tmp = 0.0;
          	if (((z0 / (exp((-3.1415927410125732 / z1)) - -1.0)) + ((1.0 - z0) / (t_0 - -1.0))) <= 0.0)
          		tmp = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
          	else
          		tmp = 1.0 + t_0;
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := Block[{t$95$0 = N[Exp[N[(Pi / z1), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(N[(z0 / N[(N[Exp[N[(-3.1415927410125732 / z1), $MachinePrecision]], $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(t$95$0 - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0], N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 + t$95$0), $MachinePrecision]]]
          
          \begin{array}{l}
          t_0 := e^{\frac{\pi}{z1}}\\
          \mathbf{if}\;\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{t\_0 - -1} \leq 0:\\
          \;\;\;\;\frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
          
          \mathbf{else}:\\
          \;\;\;\;1 + t\_0\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64)))) < 0.0

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

            if 0.0 < (+.f64 (/.f64 z0 (-.f64 (exp.f64 (/.f64 #s(literal -7853981852531433/2500000000000000 binary64) z1)) #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal 1 binary64) z0) (-.f64 (exp.f64 (/.f64 (PI.f64) z1)) #s(literal -1 binary64))))

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z0 around 0

              \[\leadsto \color{blue}{1 + e^{\frac{\pi}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto 1 + \color{blue}{e^{\frac{\mathsf{PI}\left(\right)}{z1}}} \]
              2. lower-exp.f64N/A

                \[\leadsto 1 + e^{\frac{\mathsf{PI}\left(\right)}{z1}} \]
              3. lower-/.f64N/A

                \[\leadsto 1 + e^{\frac{\mathsf{PI}\left(\right)}{z1}} \]
              4. lower-PI.f6451.3%

                \[\leadsto 1 + e^{\frac{\pi}{z1}} \]
            4. Applied rewrites51.3%

              \[\leadsto \color{blue}{1 + e^{\frac{\pi}{z1}}} \]
          3. Recombined 2 regimes into one program.
          4. Add Preprocessing

          Alternative 15: 57.4% accurate, 2.6× speedup?

          \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -2400000:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\ \mathbf{elif}\;z1 \leq 350:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (let* ((t_0
                  (/
                   1.0
                   (+
                    0.5
                    (*
                     -1.0
                     (/
                      (-
                       (* -0.25 (* z0 PI))
                       (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                      z1))))))
            (if (<= z1 -2400000.0)
              t_0
              (if (<= z1 3.55e-298)
                (/
                 1.0
                 (+
                  (/
                   z0
                   (+
                    2.0
                    (*
                     -1.0
                     (/
                      (+
                       3.1415927410125732
                       (*
                        -1.0
                        (/
                         (- 4.9348024751914465 (* 5.167713211464109 (/ 1.0 z1)))
                         z1)))
                      z1))))
                  (* 0.5 (- 1.0 z0))))
                (if (<= z1 350.0)
                  (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (+ 2.0 (/ PI z1)))))
                  t_0)))))
          double code(double z0, double z1) {
          	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
          	double tmp;
          	if (z1 <= -2400000.0) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 350.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (((double) M_PI) / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
          	double tmp;
          	if (z1 <= -2400000.0) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 350.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (Math.PI / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
          	tmp = 0
          	if z1 <= -2400000.0:
          		tmp = t_0
          	elif z1 <= 3.55e-298:
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + (0.5 * (1.0 - z0)))
          	elif z1 <= 350.0:
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (math.pi / z1))))
          	else:
          		tmp = t_0
          	return tmp
          
          function code(z0, z1)
          	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
          	tmp = 0.0
          	if (z1 <= -2400000.0)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 + Float64(-1.0 * Float64(Float64(3.1415927410125732 + Float64(-1.0 * Float64(Float64(4.9348024751914465 - Float64(5.167713211464109 * Float64(1.0 / z1))) / z1))) / z1)))) + Float64(0.5 * Float64(1.0 - z0))));
          	elseif (z1 <= 350.0)
          		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(2.0 + Float64(pi / z1)))));
          	else
          		tmp = t_0;
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
          	tmp = 0.0;
          	if (z1 <= -2400000.0)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 + (-1.0 * ((4.9348024751914465 - (5.167713211464109 * (1.0 / z1))) / z1))) / z1)))) + (0.5 * (1.0 - z0)));
          	elseif (z1 <= 350.0)
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (pi / z1))));
          	else
          		tmp = t_0;
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -2400000.0], t$95$0, If[LessEqual[z1, 3.55e-298], N[(1.0 / N[(N[(z0 / N[(2.0 + N[(-1.0 * N[(N[(3.1415927410125732 + N[(-1.0 * N[(N[(4.9348024751914465 - N[(5.167713211464109 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(1.0 - z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 350.0], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
          
          \begin{array}{l}
          t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
          \mathbf{if}\;z1 \leq -2400000:\\
          \;\;\;\;t\_0\\
          
          \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\
          \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\
          
          \mathbf{elif}\;z1 \leq 350:\\
          \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\
          
          \mathbf{else}:\\
          \;\;\;\;t\_0\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if z1 < -2.4e6 or 350 < z1

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

            if -2.4e6 < z1 < 3.5499999999999999e-298

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
            3. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
              2. lower--.f6434.3%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
            4. Applied rewrites34.3%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
            5. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]
            6. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + \color{blue}{-1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              2. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \color{blue}{\frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{\color{blue}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              4. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              6. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              7. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              8. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} + -1 \cdot \frac{\frac{61685030939893080179390253033489}{12500000000000000000000000000000} - \frac{161491037858253405198930717009894818193991386579}{31250000000000000000000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              9. lower-/.f6432.5%

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}} + 0.5 \cdot \left(1 - z0\right)} \]
            7. Applied rewrites32.5%

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{3.1415927410125732 + -1 \cdot \frac{4.9348024751914465 - 5.167713211464109 \cdot \frac{1}{z1}}{z1}}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]

            if 3.5499999999999999e-298 < z1 < 350

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              2. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
              3. lower-PI.f6446.9%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            6. Applied rewrites46.9%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            7. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            8. Step-by-step derivation
              1. lower-*.f6431.8%

                \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            9. Applied rewrites31.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
          3. Recombined 3 regimes into one program.
          4. Add Preprocessing

          Alternative 16: 57.4% accurate, 3.2× speedup?

          \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -2400000:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 - 4.9348024751914465 \cdot \frac{1}{z1}}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\ \mathbf{elif}\;z1 \leq 350:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (let* ((t_0
                  (/
                   1.0
                   (+
                    0.5
                    (*
                     -1.0
                     (/
                      (-
                       (* -0.25 (* z0 PI))
                       (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                      z1))))))
            (if (<= z1 -2400000.0)
              t_0
              (if (<= z1 3.55e-298)
                (/
                 1.0
                 (+
                  (/
                   z0
                   (+
                    2.0
                    (*
                     -1.0
                     (/
                      (- 3.1415927410125732 (* 4.9348024751914465 (/ 1.0 z1)))
                      z1))))
                  (* 0.5 (- 1.0 z0))))
                (if (<= z1 350.0)
                  (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (+ 2.0 (/ PI z1)))))
                  t_0)))))
          double code(double z0, double z1) {
          	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
          	double tmp;
          	if (z1 <= -2400000.0) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 - (4.9348024751914465 * (1.0 / z1))) / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 350.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (((double) M_PI) / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
          	double tmp;
          	if (z1 <= -2400000.0) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 - (4.9348024751914465 * (1.0 / z1))) / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 350.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (Math.PI / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
          	tmp = 0
          	if z1 <= -2400000.0:
          		tmp = t_0
          	elif z1 <= 3.55e-298:
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 - (4.9348024751914465 * (1.0 / z1))) / z1)))) + (0.5 * (1.0 - z0)))
          	elif z1 <= 350.0:
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (math.pi / z1))))
          	else:
          		tmp = t_0
          	return tmp
          
          function code(z0, z1)
          	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
          	tmp = 0.0
          	if (z1 <= -2400000.0)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 + Float64(-1.0 * Float64(Float64(3.1415927410125732 - Float64(4.9348024751914465 * Float64(1.0 / z1))) / z1)))) + Float64(0.5 * Float64(1.0 - z0))));
          	elseif (z1 <= 350.0)
          		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(2.0 + Float64(pi / z1)))));
          	else
          		tmp = t_0;
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
          	tmp = 0.0;
          	if (z1 <= -2400000.0)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = 1.0 / ((z0 / (2.0 + (-1.0 * ((3.1415927410125732 - (4.9348024751914465 * (1.0 / z1))) / z1)))) + (0.5 * (1.0 - z0)));
          	elseif (z1 <= 350.0)
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (pi / z1))));
          	else
          		tmp = t_0;
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -2400000.0], t$95$0, If[LessEqual[z1, 3.55e-298], N[(1.0 / N[(N[(z0 / N[(2.0 + N[(-1.0 * N[(N[(3.1415927410125732 - N[(4.9348024751914465 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(1.0 - z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 350.0], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
          
          \begin{array}{l}
          t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
          \mathbf{if}\;z1 \leq -2400000:\\
          \;\;\;\;t\_0\\
          
          \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\
          \;\;\;\;\frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 - 4.9348024751914465 \cdot \frac{1}{z1}}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\
          
          \mathbf{elif}\;z1 \leq 350:\\
          \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\
          
          \mathbf{else}:\\
          \;\;\;\;t\_0\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if z1 < -2.4e6 or 350 < z1

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

            if -2.4e6 < z1 < 3.5499999999999999e-298

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
            3. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
              2. lower--.f6434.3%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
            4. Applied rewrites34.3%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
            5. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]
            6. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + \color{blue}{-1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              2. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \color{blue}{\frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{\color{blue}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{\frac{7853981852531433}{2500000000000000} - \frac{61685030939893080179390253033489}{12500000000000000000000000000000} \cdot \frac{1}{z1}}{z1}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              6. lower-/.f6432.5%

                \[\leadsto \frac{1}{\frac{z0}{2 + -1 \cdot \frac{3.1415927410125732 - 4.9348024751914465 \cdot \frac{1}{z1}}{z1}} + 0.5 \cdot \left(1 - z0\right)} \]
            7. Applied rewrites32.5%

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 + -1 \cdot \frac{3.1415927410125732 - 4.9348024751914465 \cdot \frac{1}{z1}}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]

            if 3.5499999999999999e-298 < z1 < 350

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              2. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
              3. lower-PI.f6446.9%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            6. Applied rewrites46.9%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            7. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            8. Step-by-step derivation
              1. lower-*.f6431.8%

                \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            9. Applied rewrites31.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
          3. Recombined 3 regimes into one program.
          4. Add Preprocessing

          Alternative 17: 57.4% accurate, 3.6× speedup?

          \[\begin{array}{l} t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\ \mathbf{if}\;z1 \leq -2400000:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\ \mathbf{elif}\;z1 \leq 350:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (let* ((t_0
                  (/
                   1.0
                   (+
                    0.5
                    (*
                     -1.0
                     (/
                      (-
                       (* -0.25 (* z0 PI))
                       (+ (* -0.25 PI) (* 0.7853981852531433 z0)))
                      z1))))))
            (if (<= z1 -2400000.0)
              t_0
              (if (<= z1 3.55e-298)
                (/
                 1.0
                 (+
                  (/ z0 (- 2.0 (* 3.1415927410125732 (/ 1.0 z1))))
                  (* 0.5 (- 1.0 z0))))
                (if (<= z1 350.0)
                  (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (+ 2.0 (/ PI z1)))))
                  t_0)))))
          double code(double z0, double z1) {
          	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * ((double) M_PI))) - ((-0.25 * ((double) M_PI)) + (0.7853981852531433 * z0))) / z1)));
          	double tmp;
          	if (z1 <= -2400000.0) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 350.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (((double) M_PI) / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * Math.PI)) - ((-0.25 * Math.PI) + (0.7853981852531433 * z0))) / z1)));
          	double tmp;
          	if (z1 <= -2400000.0) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 350.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (Math.PI / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * math.pi)) - ((-0.25 * math.pi) + (0.7853981852531433 * z0))) / z1)))
          	tmp = 0
          	if z1 <= -2400000.0:
          		tmp = t_0
          	elif z1 <= 3.55e-298:
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)))
          	elif z1 <= 350.0:
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (math.pi / z1))))
          	else:
          		tmp = t_0
          	return tmp
          
          function code(z0, z1)
          	t_0 = Float64(1.0 / Float64(0.5 + Float64(-1.0 * Float64(Float64(Float64(-0.25 * Float64(z0 * pi)) - Float64(Float64(-0.25 * pi) + Float64(0.7853981852531433 * z0))) / z1))))
          	tmp = 0.0
          	if (z1 <= -2400000.0)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 - Float64(3.1415927410125732 * Float64(1.0 / z1)))) + Float64(0.5 * Float64(1.0 - z0))));
          	elseif (z1 <= 350.0)
          		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(2.0 + Float64(pi / z1)))));
          	else
          		tmp = t_0;
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	t_0 = 1.0 / (0.5 + (-1.0 * (((-0.25 * (z0 * pi)) - ((-0.25 * pi) + (0.7853981852531433 * z0))) / z1)));
          	tmp = 0.0;
          	if (z1 <= -2400000.0)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)));
          	elseif (z1 <= 350.0)
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (pi / z1))));
          	else
          		tmp = t_0;
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(0.5 + N[(-1.0 * N[(N[(N[(-0.25 * N[(z0 * Pi), $MachinePrecision]), $MachinePrecision] - N[(N[(-0.25 * Pi), $MachinePrecision] + N[(0.7853981852531433 * z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -2400000.0], t$95$0, If[LessEqual[z1, 3.55e-298], N[(1.0 / N[(N[(z0 / N[(2.0 - N[(3.1415927410125732 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(1.0 - z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 350.0], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
          
          \begin{array}{l}
          t_0 := \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}\\
          \mathbf{if}\;z1 \leq -2400000:\\
          \;\;\;\;t\_0\\
          
          \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\
          \;\;\;\;\frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\
          
          \mathbf{elif}\;z1 \leq 350:\\
          \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\
          
          \mathbf{else}:\\
          \;\;\;\;t\_0\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if z1 < -2.4e6 or 350 < z1

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around -inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
            3. Step-by-step derivation
              1. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \color{blue}{\frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}}} \]
              3. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{\color{blue}{z1}}} \]
              4. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              5. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              7. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              8. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              9. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              10. lower-PI.f64N/A

                \[\leadsto \frac{1}{\frac{1}{2} + -1 \cdot \frac{\frac{-1}{4} \cdot \left(z0 \cdot \pi\right) - \left(\frac{-1}{4} \cdot \pi + \frac{7853981852531433}{10000000000000000} \cdot z0\right)}{z1}} \]
              11. lower-*.f6451.8%

                \[\leadsto \frac{1}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{-0.25 \cdot \left(z0 \cdot \pi\right) - \left(-0.25 \cdot \pi + 0.7853981852531433 \cdot z0\right)}{z1}}} \]

            if -2.4e6 < z1 < 3.5499999999999999e-298

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
            3. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
              2. lower--.f6434.3%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
            4. Applied rewrites34.3%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
            5. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 - \frac{7853981852531433}{2500000000000000} \cdot \frac{1}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]
            6. Step-by-step derivation
              1. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 - \color{blue}{\frac{7853981852531433}{2500000000000000} \cdot \frac{1}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              2. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 - \frac{7853981852531433}{2500000000000000} \cdot \color{blue}{\frac{1}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              3. lower-/.f6432.5%

                \[\leadsto \frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{\color{blue}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]
            7. Applied rewrites32.5%

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 - 3.1415927410125732 \cdot \frac{1}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]

            if 3.5499999999999999e-298 < z1 < 350

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              2. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
              3. lower-PI.f6446.9%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            6. Applied rewrites46.9%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            7. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            8. Step-by-step derivation
              1. lower-*.f6431.8%

                \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            9. Applied rewrites31.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
          3. Recombined 3 regimes into one program.
          4. Add Preprocessing

          Alternative 18: 57.2% accurate, 3.7× speedup?

          \[\begin{array}{l} t_0 := \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - -0.7853981852531433 \cdot \frac{z0}{z1}}\\ \mathbf{if}\;z1 \leq -0.0118:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\ \;\;\;\;\frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\ \mathbf{elif}\;z1 \leq 400000000:\\ \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (let* ((t_0
                  (/
                   1.0
                   (-
                    (+ 0.5 (* 0.25 (/ (* z0 PI) z1)))
                    (* -0.7853981852531433 (/ z0 z1))))))
            (if (<= z1 -0.0118)
              t_0
              (if (<= z1 3.55e-298)
                (/
                 1.0
                 (+
                  (/ z0 (- 2.0 (* 3.1415927410125732 (/ 1.0 z1))))
                  (* 0.5 (- 1.0 z0))))
                (if (<= z1 400000000.0)
                  (/ 1.0 (+ (* 0.5 z0) (/ (- 1.0 z0) (+ 2.0 (/ PI z1)))))
                  t_0)))))
          double code(double z0, double z1) {
          	double t_0 = 1.0 / ((0.5 + (0.25 * ((z0 * ((double) M_PI)) / z1))) - (-0.7853981852531433 * (z0 / z1)));
          	double tmp;
          	if (z1 <= -0.0118) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 400000000.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (((double) M_PI) / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double t_0 = 1.0 / ((0.5 + (0.25 * ((z0 * Math.PI) / z1))) - (-0.7853981852531433 * (z0 / z1)));
          	double tmp;
          	if (z1 <= -0.0118) {
          		tmp = t_0;
          	} else if (z1 <= 3.55e-298) {
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)));
          	} else if (z1 <= 400000000.0) {
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (Math.PI / z1))));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	t_0 = 1.0 / ((0.5 + (0.25 * ((z0 * math.pi) / z1))) - (-0.7853981852531433 * (z0 / z1)))
          	tmp = 0
          	if z1 <= -0.0118:
          		tmp = t_0
          	elif z1 <= 3.55e-298:
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)))
          	elif z1 <= 400000000.0:
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (math.pi / z1))))
          	else:
          		tmp = t_0
          	return tmp
          
          function code(z0, z1)
          	t_0 = Float64(1.0 / Float64(Float64(0.5 + Float64(0.25 * Float64(Float64(z0 * pi) / z1))) - Float64(-0.7853981852531433 * Float64(z0 / z1))))
          	tmp = 0.0
          	if (z1 <= -0.0118)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = Float64(1.0 / Float64(Float64(z0 / Float64(2.0 - Float64(3.1415927410125732 * Float64(1.0 / z1)))) + Float64(0.5 * Float64(1.0 - z0))));
          	elseif (z1 <= 400000000.0)
          		tmp = Float64(1.0 / Float64(Float64(0.5 * z0) + Float64(Float64(1.0 - z0) / Float64(2.0 + Float64(pi / z1)))));
          	else
          		tmp = t_0;
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	t_0 = 1.0 / ((0.5 + (0.25 * ((z0 * pi) / z1))) - (-0.7853981852531433 * (z0 / z1)));
          	tmp = 0.0;
          	if (z1 <= -0.0118)
          		tmp = t_0;
          	elseif (z1 <= 3.55e-298)
          		tmp = 1.0 / ((z0 / (2.0 - (3.1415927410125732 * (1.0 / z1)))) + (0.5 * (1.0 - z0)));
          	elseif (z1 <= 400000000.0)
          		tmp = 1.0 / ((0.5 * z0) + ((1.0 - z0) / (2.0 + (pi / z1))));
          	else
          		tmp = t_0;
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(N[(0.5 + N[(0.25 * N[(N[(z0 * Pi), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(-0.7853981852531433 * N[(z0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z1, -0.0118], t$95$0, If[LessEqual[z1, 3.55e-298], N[(1.0 / N[(N[(z0 / N[(2.0 - N[(3.1415927410125732 * N[(1.0 / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(1.0 - z0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z1, 400000000.0], N[(1.0 / N[(N[(0.5 * z0), $MachinePrecision] + N[(N[(1.0 - z0), $MachinePrecision] / N[(2.0 + N[(Pi / z1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
          
          \begin{array}{l}
          t_0 := \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - -0.7853981852531433 \cdot \frac{z0}{z1}}\\
          \mathbf{if}\;z1 \leq -0.0118:\\
          \;\;\;\;t\_0\\
          
          \mathbf{elif}\;z1 \leq 3.55 \cdot 10^{-298}:\\
          \;\;\;\;\frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{z1}} + 0.5 \cdot \left(1 - z0\right)}\\
          
          \mathbf{elif}\;z1 \leq 400000000:\\
          \;\;\;\;\frac{1}{0.5 \cdot z0 + \frac{1 - z0}{2 + \frac{\pi}{z1}}}\\
          
          \mathbf{else}:\\
          \;\;\;\;t\_0\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if z1 < -0.0118 or 4e8 < z1

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right)}} \]
            3. Step-by-step derivation
              1. lower--.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \color{blue}{\left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)}} \]
              2. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{z0}{z1}} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              4. lower-/.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              6. lower-PI.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              7. lower-+.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}}\right)} \]
              8. lower-*.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4}} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              9. lower-/.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              10. lower-*.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}\right)} \]
              12. lower-PI.f6451.8%

                \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)}} \]
            5. Taylor expanded in z0 around 0

              \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \frac{1}{4} \cdot \color{blue}{\frac{\pi}{z1}}} \]
            6. Step-by-step derivation
              1. lower-*.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}} \]
              3. lower-PI.f6442.1%

                \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - 0.25 \cdot \frac{\pi}{z1}} \]
            7. Applied rewrites42.1%

              \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - 0.25 \cdot \color{blue}{\frac{\pi}{z1}}} \]
            8. Taylor expanded in z0 around inf

              \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \frac{-7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{z0}{z1}}} \]
            9. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{\color{blue}{z1}}} \]
              2. lower-/.f6452.4%

                \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - -0.7853981852531433 \cdot \frac{z0}{z1}} \]
            10. Applied rewrites52.4%

              \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - -0.7853981852531433 \cdot \color{blue}{\frac{z0}{z1}}} \]

            if -0.0118 < z1 < 3.5499999999999999e-298

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{\frac{1}{2} \cdot \left(1 - z0\right)}} \]
            3. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1}{2} \cdot \color{blue}{\left(1 - z0\right)}} \]
              2. lower--.f6434.3%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + 0.5 \cdot \left(1 - \color{blue}{z0}\right)} \]
            4. Applied rewrites34.3%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \color{blue}{0.5 \cdot \left(1 - z0\right)}} \]
            5. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 - \frac{7853981852531433}{2500000000000000} \cdot \frac{1}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]
            6. Step-by-step derivation
              1. lower--.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 - \color{blue}{\frac{7853981852531433}{2500000000000000} \cdot \frac{1}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              2. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{2 - \frac{7853981852531433}{2500000000000000} \cdot \color{blue}{\frac{1}{z1}}} + \frac{1}{2} \cdot \left(1 - z0\right)} \]
              3. lower-/.f6432.5%

                \[\leadsto \frac{1}{\frac{z0}{2 - 3.1415927410125732 \cdot \frac{1}{\color{blue}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]
            7. Applied rewrites32.5%

              \[\leadsto \frac{1}{\frac{z0}{\color{blue}{2 - 3.1415927410125732 \cdot \frac{1}{z1}}} + 0.5 \cdot \left(1 - z0\right)} \]

            if 3.5499999999999999e-298 < z1 < 4e8

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Step-by-step derivation
              1. lift-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{e^{\frac{\pi}{z1}}} - -1}} \]
              2. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\pi}{z1}}} - -1}} \]
              3. frac-2negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{\mathsf{neg}\left(z1\right)}}} - -1}} \]
              4. distribute-frac-neg2N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{e^{\color{blue}{\mathsf{neg}\left(\frac{\mathsf{neg}\left(\pi\right)}{z1}\right)}} - -1}} \]
              5. exp-negN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              6. distribute-neg-fracN/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              7. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              9. lower-exp.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{\color{blue}{e^{\mathsf{neg}\left(\frac{\pi}{z1}\right)}}} - -1}} \]
              10. lift-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\mathsf{neg}\left(\color{blue}{\frac{\pi}{z1}}\right)}} - -1}} \]
              11. distribute-neg-fracN/A

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

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\color{blue}{\frac{\mathsf{neg}\left(\pi\right)}{z1}}}} - -1}} \]
              13. lower-neg.f6478.1%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\frac{1}{e^{\frac{\color{blue}{-\pi}}{z1}}} - -1}} \]
            3. Applied rewrites78.1%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{\frac{1}{e^{\frac{-\pi}{z1}}}} - -1}} \]
            4. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            5. Step-by-step derivation
              1. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{z1}}}} \]
              2. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{\frac{-7853981852531433}{2500000000000000}}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}}} \]
              3. lower-PI.f6446.9%

                \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            6. Applied rewrites46.9%

              \[\leadsto \frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{\color{blue}{2 + \frac{\pi}{z1}}}} \]
            7. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2} \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            8. Step-by-step derivation
              1. lower-*.f6431.8%

                \[\leadsto \frac{1}{0.5 \cdot \color{blue}{z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
            9. Applied rewrites31.8%

              \[\leadsto \frac{1}{\color{blue}{0.5 \cdot z0} + \frac{1 - z0}{2 + \frac{\pi}{z1}}} \]
          3. Recombined 3 regimes into one program.
          4. Add Preprocessing

          Alternative 19: 46.8% accurate, 5.6× speedup?

          \[\begin{array}{l} \mathbf{if}\;z0 \leq -4 \cdot 10^{+144}:\\ \;\;\;\;\frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}}\\ \mathbf{elif}\;z0 \leq 6.5 \cdot 10^{+107}:\\ \;\;\;\;\frac{1}{0.5}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{0.7853981852531433 + \pi \cdot 0.25}{z1} \cdot z0}\\ \end{array} \]
          (FPCore (z0 z1)
            :precision binary64
            (if (<= z0 -4e+144)
            (/ 1.0 (/ (* z0 (+ 0.7853981852531433 (* 0.25 PI))) z1))
            (if (<= z0 6.5e+107)
              (/ 1.0 0.5)
              (/ 1.0 (* (/ (+ 0.7853981852531433 (* PI 0.25)) z1) z0)))))
          double code(double z0, double z1) {
          	double tmp;
          	if (z0 <= -4e+144) {
          		tmp = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * ((double) M_PI)))) / z1);
          	} else if (z0 <= 6.5e+107) {
          		tmp = 1.0 / 0.5;
          	} else {
          		tmp = 1.0 / (((0.7853981852531433 + (((double) M_PI) * 0.25)) / z1) * z0);
          	}
          	return tmp;
          }
          
          public static double code(double z0, double z1) {
          	double tmp;
          	if (z0 <= -4e+144) {
          		tmp = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * Math.PI))) / z1);
          	} else if (z0 <= 6.5e+107) {
          		tmp = 1.0 / 0.5;
          	} else {
          		tmp = 1.0 / (((0.7853981852531433 + (Math.PI * 0.25)) / z1) * z0);
          	}
          	return tmp;
          }
          
          def code(z0, z1):
          	tmp = 0
          	if z0 <= -4e+144:
          		tmp = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * math.pi))) / z1)
          	elif z0 <= 6.5e+107:
          		tmp = 1.0 / 0.5
          	else:
          		tmp = 1.0 / (((0.7853981852531433 + (math.pi * 0.25)) / z1) * z0)
          	return tmp
          
          function code(z0, z1)
          	tmp = 0.0
          	if (z0 <= -4e+144)
          		tmp = Float64(1.0 / Float64(Float64(z0 * Float64(0.7853981852531433 + Float64(0.25 * pi))) / z1));
          	elseif (z0 <= 6.5e+107)
          		tmp = Float64(1.0 / 0.5);
          	else
          		tmp = Float64(1.0 / Float64(Float64(Float64(0.7853981852531433 + Float64(pi * 0.25)) / z1) * z0));
          	end
          	return tmp
          end
          
          function tmp_2 = code(z0, z1)
          	tmp = 0.0;
          	if (z0 <= -4e+144)
          		tmp = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * pi))) / z1);
          	elseif (z0 <= 6.5e+107)
          		tmp = 1.0 / 0.5;
          	else
          		tmp = 1.0 / (((0.7853981852531433 + (pi * 0.25)) / z1) * z0);
          	end
          	tmp_2 = tmp;
          end
          
          code[z0_, z1_] := If[LessEqual[z0, -4e+144], N[(1.0 / N[(N[(z0 * N[(0.7853981852531433 + N[(0.25 * Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision], If[LessEqual[z0, 6.5e+107], N[(1.0 / 0.5), $MachinePrecision], N[(1.0 / N[(N[(N[(0.7853981852531433 + N[(Pi * 0.25), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision] * z0), $MachinePrecision]), $MachinePrecision]]]
          
          \begin{array}{l}
          \mathbf{if}\;z0 \leq -4 \cdot 10^{+144}:\\
          \;\;\;\;\frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}}\\
          
          \mathbf{elif}\;z0 \leq 6.5 \cdot 10^{+107}:\\
          \;\;\;\;\frac{1}{0.5}\\
          
          \mathbf{else}:\\
          \;\;\;\;\frac{1}{\frac{0.7853981852531433 + \pi \cdot 0.25}{z1} \cdot z0}\\
          
          
          \end{array}
          
          Derivation
          1. Split input into 3 regimes
          2. if z0 < -4.0000000000000001e144

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right)}} \]
            3. Step-by-step derivation
              1. lower--.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \color{blue}{\left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)}} \]
              2. lower-+.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{z0}{z1}} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              4. lower-/.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              6. lower-PI.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              7. lower-+.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}}\right)} \]
              8. lower-*.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4}} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              9. lower-/.f64N/A

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
              10. lower-*.f64N/A

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

                \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}\right)} \]
              12. lower-PI.f6451.8%

                \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)} \]
            4. Applied rewrites51.8%

              \[\leadsto \frac{1}{\color{blue}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)}} \]
            5. Taylor expanded in z0 around 0

              \[\leadsto \frac{1}{\frac{1}{2} - \color{blue}{\frac{1}{4} \cdot \frac{\pi}{z1}}} \]
            6. Step-by-step derivation
              1. lower--.f64N/A

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

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

                \[\leadsto \frac{1}{\frac{1}{2} - \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}} \]
              4. lower-PI.f6440.0%

                \[\leadsto \frac{1}{0.5 - 0.25 \cdot \frac{\pi}{z1}} \]
            7. Applied rewrites40.0%

              \[\leadsto \frac{1}{0.5 - \color{blue}{0.25 \cdot \frac{\pi}{z1}}} \]
            8. Taylor expanded in z0 around inf

              \[\leadsto \frac{1}{z0 \cdot \color{blue}{\left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)}} \]
            9. Step-by-step derivation
              1. lower-*.f64N/A

                \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \color{blue}{\frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}}\right)} \]
              2. lower-+.f64N/A

                \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{1}{z1}}\right)} \]
              3. lower-*.f64N/A

                \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{\color{blue}{1}}{z1}\right)} \]
              4. lower-/.f64N/A

                \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)} \]
              5. lower-PI.f64N/A

                \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)} \]
              6. lower-*.f64N/A

                \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{\color{blue}{z1}}\right)} \]
              7. lower-/.f6414.9%

                \[\leadsto \frac{1}{z0 \cdot \left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right)} \]
            10. Applied rewrites14.9%

              \[\leadsto \frac{1}{z0 \cdot \color{blue}{\left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right)}} \]
            11. Taylor expanded in z1 around 0

              \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \pi\right)}{z1}} \]
            12. Step-by-step derivation
              1. lower-/.f64N/A

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
              2. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
              3. lower-+.f64N/A

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
              4. lower-*.f64N/A

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
              5. lower-PI.f6414.8%

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}} \]
            13. Applied rewrites14.8%

              \[\leadsto \frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}} \]

            if -4.0000000000000001e144 < z0 < 6.5000000000000006e107

            1. Initial program 78.1%

              \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
            2. Taylor expanded in z1 around inf

              \[\leadsto \frac{1}{\color{blue}{\frac{1}{2}}} \]
            3. Step-by-step derivation
              1. Applied rewrites41.1%

                \[\leadsto \frac{1}{\color{blue}{0.5}} \]

              if 6.5000000000000006e107 < z0

              1. Initial program 78.1%

                \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
              2. Taylor expanded in z1 around inf

                \[\leadsto \frac{1}{\color{blue}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right)}} \]
              3. Step-by-step derivation
                1. lower--.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \color{blue}{\left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)}} \]
                2. lower-+.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{z0}{z1}} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                4. lower-/.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                6. lower-PI.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                7. lower-+.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}}\right)} \]
                8. lower-*.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4}} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                9. lower-/.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                10. lower-*.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}\right)} \]
                12. lower-PI.f6451.8%

                  \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)} \]
              4. Applied rewrites51.8%

                \[\leadsto \frac{1}{\color{blue}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)}} \]
              5. Taylor expanded in z0 around 0

                \[\leadsto \frac{1}{\frac{1}{2} - \color{blue}{\frac{1}{4} \cdot \frac{\pi}{z1}}} \]
              6. Step-by-step derivation
                1. lower--.f64N/A

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

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

                  \[\leadsto \frac{1}{\frac{1}{2} - \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}} \]
                4. lower-PI.f6440.0%

                  \[\leadsto \frac{1}{0.5 - 0.25 \cdot \frac{\pi}{z1}} \]
              7. Applied rewrites40.0%

                \[\leadsto \frac{1}{0.5 - \color{blue}{0.25 \cdot \frac{\pi}{z1}}} \]
              8. Taylor expanded in z0 around inf

                \[\leadsto \frac{1}{z0 \cdot \color{blue}{\left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)}} \]
              9. Step-by-step derivation
                1. lower-*.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \color{blue}{\frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}}\right)} \]
                2. lower-+.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{1}{z1}}\right)} \]
                3. lower-*.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{\color{blue}{1}}{z1}\right)} \]
                4. lower-/.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)} \]
                5. lower-PI.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)} \]
                6. lower-*.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{\color{blue}{z1}}\right)} \]
                7. lower-/.f6414.9%

                  \[\leadsto \frac{1}{z0 \cdot \left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right)} \]
              10. Applied rewrites14.9%

                \[\leadsto \frac{1}{z0 \cdot \color{blue}{\left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right)}} \]
              11. Step-by-step derivation
                1. lift-*.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right) \cdot z0} \]
                3. lower-*.f6414.9%

                  \[\leadsto \frac{1}{\left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right) \cdot z0} \]
                4. lift-+.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right) \cdot z0} \]
                5. +-commutativeN/A

                  \[\leadsto \frac{1}{\left(\frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right) \cdot z0} \]
                6. lift-*.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right) \cdot z0} \]
                7. lift-/.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right) \cdot z0} \]
                8. mult-flip-revN/A

                  \[\leadsto \frac{1}{\left(\frac{\frac{7853981852531433}{10000000000000000}}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right) \cdot z0} \]
                9. lift-*.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{\frac{7853981852531433}{10000000000000000}}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right) \cdot z0} \]
                10. lift-/.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{\frac{7853981852531433}{10000000000000000}}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right) \cdot z0} \]
                11. associate-*r/N/A

                  \[\leadsto \frac{1}{\left(\frac{\frac{7853981852531433}{10000000000000000}}{z1} + \frac{\frac{1}{4} \cdot \pi}{z1}\right) \cdot z0} \]
                12. lift-PI.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{\frac{7853981852531433}{10000000000000000}}{z1} + \frac{\frac{1}{4} \cdot \mathsf{PI}\left(\right)}{z1}\right) \cdot z0} \]
                13. div-add-revN/A

                  \[\leadsto \frac{1}{\frac{\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)}{z1} \cdot z0} \]
                14. lower-/.f64N/A

                  \[\leadsto \frac{1}{\frac{\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)}{z1} \cdot z0} \]
                15. lower-+.f64N/A

                  \[\leadsto \frac{1}{\frac{\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)}{z1} \cdot z0} \]
                16. lift-PI.f64N/A

                  \[\leadsto \frac{1}{\frac{\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \pi}{z1} \cdot z0} \]
                17. *-commutativeN/A

                  \[\leadsto \frac{1}{\frac{\frac{7853981852531433}{10000000000000000} + \pi \cdot \frac{1}{4}}{z1} \cdot z0} \]
                18. lower-*.f6414.9%

                  \[\leadsto \frac{1}{\frac{0.7853981852531433 + \pi \cdot 0.25}{z1} \cdot z0} \]
              12. Applied rewrites14.9%

                \[\leadsto \frac{1}{\frac{0.7853981852531433 + \pi \cdot 0.25}{z1} \cdot z0} \]
            4. Recombined 3 regimes into one program.
            5. Add Preprocessing

            Alternative 20: 46.8% accurate, 5.6× speedup?

            \[\begin{array}{l} t_0 := \frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}}\\ \mathbf{if}\;z0 \leq -4 \cdot 10^{+144}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;z0 \leq 6.5 \cdot 10^{+107}:\\ \;\;\;\;\frac{1}{0.5}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \]
            (FPCore (z0 z1)
              :precision binary64
              (let* ((t_0 (/ 1.0 (/ (* z0 (+ 0.7853981852531433 (* 0.25 PI))) z1))))
              (if (<= z0 -4e+144) t_0 (if (<= z0 6.5e+107) (/ 1.0 0.5) t_0))))
            double code(double z0, double z1) {
            	double t_0 = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * ((double) M_PI)))) / z1);
            	double tmp;
            	if (z0 <= -4e+144) {
            		tmp = t_0;
            	} else if (z0 <= 6.5e+107) {
            		tmp = 1.0 / 0.5;
            	} else {
            		tmp = t_0;
            	}
            	return tmp;
            }
            
            public static double code(double z0, double z1) {
            	double t_0 = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * Math.PI))) / z1);
            	double tmp;
            	if (z0 <= -4e+144) {
            		tmp = t_0;
            	} else if (z0 <= 6.5e+107) {
            		tmp = 1.0 / 0.5;
            	} else {
            		tmp = t_0;
            	}
            	return tmp;
            }
            
            def code(z0, z1):
            	t_0 = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * math.pi))) / z1)
            	tmp = 0
            	if z0 <= -4e+144:
            		tmp = t_0
            	elif z0 <= 6.5e+107:
            		tmp = 1.0 / 0.5
            	else:
            		tmp = t_0
            	return tmp
            
            function code(z0, z1)
            	t_0 = Float64(1.0 / Float64(Float64(z0 * Float64(0.7853981852531433 + Float64(0.25 * pi))) / z1))
            	tmp = 0.0
            	if (z0 <= -4e+144)
            		tmp = t_0;
            	elseif (z0 <= 6.5e+107)
            		tmp = Float64(1.0 / 0.5);
            	else
            		tmp = t_0;
            	end
            	return tmp
            end
            
            function tmp_2 = code(z0, z1)
            	t_0 = 1.0 / ((z0 * (0.7853981852531433 + (0.25 * pi))) / z1);
            	tmp = 0.0;
            	if (z0 <= -4e+144)
            		tmp = t_0;
            	elseif (z0 <= 6.5e+107)
            		tmp = 1.0 / 0.5;
            	else
            		tmp = t_0;
            	end
            	tmp_2 = tmp;
            end
            
            code[z0_, z1_] := Block[{t$95$0 = N[(1.0 / N[(N[(z0 * N[(0.7853981852531433 + N[(0.25 * Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z0, -4e+144], t$95$0, If[LessEqual[z0, 6.5e+107], N[(1.0 / 0.5), $MachinePrecision], t$95$0]]]
            
            \begin{array}{l}
            t_0 := \frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}}\\
            \mathbf{if}\;z0 \leq -4 \cdot 10^{+144}:\\
            \;\;\;\;t\_0\\
            
            \mathbf{elif}\;z0 \leq 6.5 \cdot 10^{+107}:\\
            \;\;\;\;\frac{1}{0.5}\\
            
            \mathbf{else}:\\
            \;\;\;\;t\_0\\
            
            
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if z0 < -4.0000000000000001e144 or 6.5000000000000006e107 < z0

              1. Initial program 78.1%

                \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
              2. Taylor expanded in z1 around inf

                \[\leadsto \frac{1}{\color{blue}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\pi}{z1}\right)}} \]
              3. Step-by-step derivation
                1. lower--.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \color{blue}{\left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)}} \]
                2. lower-+.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{z0}{z1}} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                4. lower-/.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \mathsf{PI}\left(\right)}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                6. lower-PI.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                7. lower-+.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}}\right)} \]
                8. lower-*.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \color{blue}{\frac{1}{4}} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                9. lower-/.f64N/A

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}\right)} \]
                10. lower-*.f64N/A

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

                  \[\leadsto \frac{1}{\left(\frac{1}{2} + \frac{1}{4} \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(\frac{-7853981852531433}{10000000000000000} \cdot \frac{z0}{z1} + \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{\color{blue}{z1}}\right)} \]
                12. lower-PI.f6451.8%

                  \[\leadsto \frac{1}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)} \]
              4. Applied rewrites51.8%

                \[\leadsto \frac{1}{\color{blue}{\left(0.5 + 0.25 \cdot \frac{z0 \cdot \pi}{z1}\right) - \left(-0.7853981852531433 \cdot \frac{z0}{z1} + 0.25 \cdot \frac{\pi}{z1}\right)}} \]
              5. Taylor expanded in z0 around 0

                \[\leadsto \frac{1}{\frac{1}{2} - \color{blue}{\frac{1}{4} \cdot \frac{\pi}{z1}}} \]
              6. Step-by-step derivation
                1. lower--.f64N/A

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

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

                  \[\leadsto \frac{1}{\frac{1}{2} - \frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1}} \]
                4. lower-PI.f6440.0%

                  \[\leadsto \frac{1}{0.5 - 0.25 \cdot \frac{\pi}{z1}} \]
              7. Applied rewrites40.0%

                \[\leadsto \frac{1}{0.5 - \color{blue}{0.25 \cdot \frac{\pi}{z1}}} \]
              8. Taylor expanded in z0 around inf

                \[\leadsto \frac{1}{z0 \cdot \color{blue}{\left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)}} \]
              9. Step-by-step derivation
                1. lower-*.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \color{blue}{\frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}}\right)} \]
                2. lower-+.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \color{blue}{\frac{1}{z1}}\right)} \]
                3. lower-*.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{\color{blue}{1}}{z1}\right)} \]
                4. lower-/.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)} \]
                5. lower-PI.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{z1}\right)} \]
                6. lower-*.f64N/A

                  \[\leadsto \frac{1}{z0 \cdot \left(\frac{1}{4} \cdot \frac{\pi}{z1} + \frac{7853981852531433}{10000000000000000} \cdot \frac{1}{\color{blue}{z1}}\right)} \]
                7. lower-/.f6414.9%

                  \[\leadsto \frac{1}{z0 \cdot \left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right)} \]
              10. Applied rewrites14.9%

                \[\leadsto \frac{1}{z0 \cdot \color{blue}{\left(0.25 \cdot \frac{\pi}{z1} + 0.7853981852531433 \cdot \frac{1}{z1}\right)}} \]
              11. Taylor expanded in z1 around 0

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \pi\right)}{z1}} \]
              12. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
                2. lower-*.f64N/A

                  \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
                3. lower-+.f64N/A

                  \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
                4. lower-*.f64N/A

                  \[\leadsto \frac{1}{\frac{z0 \cdot \left(\frac{7853981852531433}{10000000000000000} + \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)}{z1}} \]
                5. lower-PI.f6414.8%

                  \[\leadsto \frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}} \]
              13. Applied rewrites14.8%

                \[\leadsto \frac{1}{\frac{z0 \cdot \left(0.7853981852531433 + 0.25 \cdot \pi\right)}{z1}} \]

              if -4.0000000000000001e144 < z0 < 6.5000000000000006e107

              1. Initial program 78.1%

                \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
              2. Taylor expanded in z1 around inf

                \[\leadsto \frac{1}{\color{blue}{\frac{1}{2}}} \]
              3. Step-by-step derivation
                1. Applied rewrites41.1%

                  \[\leadsto \frac{1}{\color{blue}{0.5}} \]
              4. Recombined 2 regimes into one program.
              5. Add Preprocessing

              Alternative 21: 41.1% accurate, 22.3× speedup?

              \[\frac{1}{0.5} \]
              (FPCore (z0 z1)
                :precision binary64
                (/ 1.0 0.5))
              double code(double z0, double z1) {
              	return 1.0 / 0.5;
              }
              
              module fmin_fmax_functions
                  implicit none
                  private
                  public fmax
                  public fmin
              
                  interface fmax
                      module procedure fmax88
                      module procedure fmax44
                      module procedure fmax84
                      module procedure fmax48
                  end interface
                  interface fmin
                      module procedure fmin88
                      module procedure fmin44
                      module procedure fmin84
                      module procedure fmin48
                  end interface
              contains
                  real(8) function fmax88(x, y) result (res)
                      real(8), intent (in) :: x
                      real(8), intent (in) :: y
                      res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                  end function
                  real(4) function fmax44(x, y) result (res)
                      real(4), intent (in) :: x
                      real(4), intent (in) :: y
                      res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                  end function
                  real(8) function fmax84(x, y) result(res)
                      real(8), intent (in) :: x
                      real(4), intent (in) :: y
                      res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
                  end function
                  real(8) function fmax48(x, y) result(res)
                      real(4), intent (in) :: x
                      real(8), intent (in) :: y
                      res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
                  end function
                  real(8) function fmin88(x, y) result (res)
                      real(8), intent (in) :: x
                      real(8), intent (in) :: y
                      res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                  end function
                  real(4) function fmin44(x, y) result (res)
                      real(4), intent (in) :: x
                      real(4), intent (in) :: y
                      res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                  end function
                  real(8) function fmin84(x, y) result(res)
                      real(8), intent (in) :: x
                      real(4), intent (in) :: y
                      res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
                  end function
                  real(8) function fmin48(x, y) result(res)
                      real(4), intent (in) :: x
                      real(8), intent (in) :: y
                      res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
                  end function
              end module
              
              real(8) function code(z0, z1)
              use fmin_fmax_functions
                  real(8), intent (in) :: z0
                  real(8), intent (in) :: z1
                  code = 1.0d0 / 0.5d0
              end function
              
              public static double code(double z0, double z1) {
              	return 1.0 / 0.5;
              }
              
              def code(z0, z1):
              	return 1.0 / 0.5
              
              function code(z0, z1)
              	return Float64(1.0 / 0.5)
              end
              
              function tmp = code(z0, z1)
              	tmp = 1.0 / 0.5;
              end
              
              code[z0_, z1_] := N[(1.0 / 0.5), $MachinePrecision]
              
              \frac{1}{0.5}
              
              Derivation
              1. Initial program 78.1%

                \[\frac{1}{\frac{z0}{e^{\frac{-3.1415927410125732}{z1}} - -1} + \frac{1 - z0}{e^{\frac{\pi}{z1}} - -1}} \]
              2. Taylor expanded in z1 around inf

                \[\leadsto \frac{1}{\color{blue}{\frac{1}{2}}} \]
              3. Step-by-step derivation
                1. Applied rewrites41.1%

                  \[\leadsto \frac{1}{\color{blue}{0.5}} \]
                2. Add Preprocessing

                Reproduce

                ?
                herbie shell --seed 2025250 
                (FPCore (z0 z1)
                  :name "(/ 1 (+ (/ z0 (- (exp (/ -7853981852531433/2500000000000000 z1)) -1)) (/ (- 1 z0) (- (exp (/ PI z1)) -1))))"
                  :precision binary64
                  (/ 1.0 (+ (/ z0 (- (exp (/ -3.1415927410125732 z1)) -1.0)) (/ (- 1.0 z0) (- (exp (/ PI z1)) -1.0)))))