Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3

Percentage Accurate: 68.1% → 88.5%
Time: 13.4s
Alternatives: 21
Speedup: 0.9×

Specification

?
\[\begin{array}{l} \\ x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \end{array} \]
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
	return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
	return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a):
	return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a)
	return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z)))
end
function tmp = code(x, y, z, t, a)
	tmp = x + (((y - z) * (t - x)) / (a - z));
end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 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: 68.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \end{array} \]
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
	return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
	return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a):
	return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a)
	return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z)))
end
function tmp = code(x, y, z, t, a)
	tmp = x + (((y - z) * (t - x)) / (a - z));
end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}

Alternative 1: 88.5% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -6.8 \cdot 10^{+138}:\\ \;\;\;\;t + \frac{y - a}{\frac{z}{x - t}}\\ \mathbf{elif}\;z \leq 6.2 \cdot 10^{+168}:\\ \;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \end{array} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (if (<= z -6.8e+138)
   (+ t (/ (- y a) (/ z (- x t))))
   (if (<= z 6.2e+168)
     (fma (- t x) (/ (- y z) (- a z)) x)
     (+ t (* (- y a) (/ (- x t) z))))))
double code(double x, double y, double z, double t, double a) {
	double tmp;
	if (z <= -6.8e+138) {
		tmp = t + ((y - a) / (z / (x - t)));
	} else if (z <= 6.2e+168) {
		tmp = fma((t - x), ((y - z) / (a - z)), x);
	} else {
		tmp = t + ((y - a) * ((x - t) / z));
	}
	return tmp;
}
function code(x, y, z, t, a)
	tmp = 0.0
	if (z <= -6.8e+138)
		tmp = Float64(t + Float64(Float64(y - a) / Float64(z / Float64(x - t))));
	elseif (z <= 6.2e+168)
		tmp = fma(Float64(t - x), Float64(Float64(y - z) / Float64(a - z)), x);
	else
		tmp = Float64(t + Float64(Float64(y - a) * Float64(Float64(x - t) / z)));
	end
	return tmp
end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -6.8e+138], N[(t + N[(N[(y - a), $MachinePrecision] / N[(z / N[(x - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6.2e+168], N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(t + N[(N[(y - a), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;z \leq -6.8 \cdot 10^{+138}:\\
\;\;\;\;t + \frac{y - a}{\frac{z}{x - t}}\\

\mathbf{elif}\;z \leq 6.2 \cdot 10^{+168}:\\
\;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\

\mathbf{else}:\\
\;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z < -6.80000000000000022e138

    1. Initial program 10.4%

      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
      4. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
      5. --lowering--.f64N/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
      8. --lowering--.f6457.8

        \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
    4. Applied egg-rr57.8%

      \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
    5. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
    6. Step-by-step derivation
      1. associate--l+N/A

        \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
      2. distribute-lft-out--N/A

        \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
      3. div-subN/A

        \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
      4. mul-1-negN/A

        \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
      5. unsub-negN/A

        \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
      6. --lowering--.f64N/A

        \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
      7. div-subN/A

        \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
      8. associate-/l*N/A

        \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
      9. associate-/l*N/A

        \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
      10. distribute-rgt-out--N/A

        \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
      11. *-lowering-*.f64N/A

        \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
      12. /-lowering-/.f64N/A

        \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
      13. --lowering--.f64N/A

        \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
      14. --lowering--.f6488.2

        \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
    7. Simplified88.2%

      \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto t - \color{blue}{\left(y - a\right) \cdot \frac{t - x}{z}} \]
      2. clear-numN/A

        \[\leadsto t - \left(y - a\right) \cdot \color{blue}{\frac{1}{\frac{z}{t - x}}} \]
      3. un-div-invN/A

        \[\leadsto t - \color{blue}{\frac{y - a}{\frac{z}{t - x}}} \]
      4. /-lowering-/.f64N/A

        \[\leadsto t - \color{blue}{\frac{y - a}{\frac{z}{t - x}}} \]
      5. --lowering--.f64N/A

        \[\leadsto t - \frac{\color{blue}{y - a}}{\frac{z}{t - x}} \]
      6. /-lowering-/.f64N/A

        \[\leadsto t - \frac{y - a}{\color{blue}{\frac{z}{t - x}}} \]
      7. --lowering--.f6488.3

        \[\leadsto t - \frac{y - a}{\frac{z}{\color{blue}{t - x}}} \]
    9. Applied egg-rr88.3%

      \[\leadsto t - \color{blue}{\frac{y - a}{\frac{z}{t - x}}} \]

    if -6.80000000000000022e138 < z < 6.19999999999999993e168

    1. Initial program 82.0%

      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
      4. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
      5. --lowering--.f64N/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
      8. --lowering--.f6492.1

        \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
    4. Applied egg-rr92.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]

    if 6.19999999999999993e168 < z

    1. Initial program 29.4%

      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
      4. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
      5. --lowering--.f64N/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
      8. --lowering--.f6447.1

        \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
    4. Applied egg-rr47.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
    5. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
    6. Step-by-step derivation
      1. associate--l+N/A

        \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
      2. distribute-lft-out--N/A

        \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
      3. div-subN/A

        \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
      4. mul-1-negN/A

        \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
      5. unsub-negN/A

        \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
      6. --lowering--.f64N/A

        \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
      7. div-subN/A

        \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
      8. associate-/l*N/A

        \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
      9. associate-/l*N/A

        \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
      10. distribute-rgt-out--N/A

        \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
      11. *-lowering-*.f64N/A

        \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
      12. /-lowering-/.f64N/A

        \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
      13. --lowering--.f64N/A

        \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
      14. --lowering--.f6486.9

        \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
    7. Simplified86.9%

      \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification91.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -6.8 \cdot 10^{+138}:\\ \;\;\;\;t + \frac{y - a}{\frac{z}{x - t}}\\ \mathbf{elif}\;z \leq 6.2 \cdot 10^{+168}:\\ \;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 43.2% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -2.3 \cdot 10^{+80}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -2.65 \cdot 10^{-128}:\\ \;\;\;\;\frac{\left(y - a\right) \cdot x}{z}\\ \mathbf{elif}\;z \leq -1.8 \cdot 10^{-221}:\\ \;\;\;\;t \cdot \frac{y}{a - z}\\ \mathbf{elif}\;z \leq 7.4 \cdot 10^{-26}:\\ \;\;\;\;x - \frac{y \cdot x}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\ \end{array} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (if (<= z -2.3e+80)
   t
   (if (<= z -2.65e-128)
     (/ (* (- y a) x) z)
     (if (<= z -1.8e-221)
       (* t (/ y (- a z)))
       (if (<= z 7.4e-26) (- x (/ (* y x) a)) (* (/ t z) (- z y)))))))
double code(double x, double y, double z, double t, double a) {
	double tmp;
	if (z <= -2.3e+80) {
		tmp = t;
	} else if (z <= -2.65e-128) {
		tmp = ((y - a) * x) / z;
	} else if (z <= -1.8e-221) {
		tmp = t * (y / (a - z));
	} else if (z <= 7.4e-26) {
		tmp = x - ((y * x) / a);
	} else {
		tmp = (t / z) * (z - y);
	}
	return tmp;
}
real(8) function code(x, y, z, t, a)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8) :: tmp
    if (z <= (-2.3d+80)) then
        tmp = t
    else if (z <= (-2.65d-128)) then
        tmp = ((y - a) * x) / z
    else if (z <= (-1.8d-221)) then
        tmp = t * (y / (a - z))
    else if (z <= 7.4d-26) then
        tmp = x - ((y * x) / a)
    else
        tmp = (t / z) * (z - y)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
	double tmp;
	if (z <= -2.3e+80) {
		tmp = t;
	} else if (z <= -2.65e-128) {
		tmp = ((y - a) * x) / z;
	} else if (z <= -1.8e-221) {
		tmp = t * (y / (a - z));
	} else if (z <= 7.4e-26) {
		tmp = x - ((y * x) / a);
	} else {
		tmp = (t / z) * (z - y);
	}
	return tmp;
}
def code(x, y, z, t, a):
	tmp = 0
	if z <= -2.3e+80:
		tmp = t
	elif z <= -2.65e-128:
		tmp = ((y - a) * x) / z
	elif z <= -1.8e-221:
		tmp = t * (y / (a - z))
	elif z <= 7.4e-26:
		tmp = x - ((y * x) / a)
	else:
		tmp = (t / z) * (z - y)
	return tmp
function code(x, y, z, t, a)
	tmp = 0.0
	if (z <= -2.3e+80)
		tmp = t;
	elseif (z <= -2.65e-128)
		tmp = Float64(Float64(Float64(y - a) * x) / z);
	elseif (z <= -1.8e-221)
		tmp = Float64(t * Float64(y / Float64(a - z)));
	elseif (z <= 7.4e-26)
		tmp = Float64(x - Float64(Float64(y * x) / a));
	else
		tmp = Float64(Float64(t / z) * Float64(z - y));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a)
	tmp = 0.0;
	if (z <= -2.3e+80)
		tmp = t;
	elseif (z <= -2.65e-128)
		tmp = ((y - a) * x) / z;
	elseif (z <= -1.8e-221)
		tmp = t * (y / (a - z));
	elseif (z <= 7.4e-26)
		tmp = x - ((y * x) / a);
	else
		tmp = (t / z) * (z - y);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.3e+80], t, If[LessEqual[z, -2.65e-128], N[(N[(N[(y - a), $MachinePrecision] * x), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[z, -1.8e-221], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 7.4e-26], N[(x - N[(N[(y * x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(N[(t / z), $MachinePrecision] * N[(z - y), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.3 \cdot 10^{+80}:\\
\;\;\;\;t\\

\mathbf{elif}\;z \leq -2.65 \cdot 10^{-128}:\\
\;\;\;\;\frac{\left(y - a\right) \cdot x}{z}\\

\mathbf{elif}\;z \leq -1.8 \cdot 10^{-221}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\

\mathbf{elif}\;z \leq 7.4 \cdot 10^{-26}:\\
\;\;\;\;x - \frac{y \cdot x}{a}\\

\mathbf{else}:\\
\;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if z < -2.30000000000000004e80

    1. Initial program 28.4%

      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{t} \]
    4. Step-by-step derivation
      1. Simplified52.7%

        \[\leadsto \color{blue}{t} \]

      if -2.30000000000000004e80 < z < -2.6499999999999999e-128

      1. Initial program 74.5%

        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
      2. Add Preprocessing
      3. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
        2. *-commutativeN/A

          \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
        3. associate-/l*N/A

          \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
        4. accelerator-lowering-fma.f64N/A

          \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
        5. --lowering--.f64N/A

          \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
        6. /-lowering-/.f64N/A

          \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
        7. --lowering--.f64N/A

          \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
        8. --lowering--.f6482.6

          \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
      4. Applied egg-rr82.6%

        \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
      5. Taylor expanded in z around inf

        \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
      6. Step-by-step derivation
        1. associate--l+N/A

          \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
        2. distribute-lft-out--N/A

          \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
        3. div-subN/A

          \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
        4. mul-1-negN/A

          \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
        5. unsub-negN/A

          \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
        6. --lowering--.f64N/A

          \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
        7. div-subN/A

          \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
        8. associate-/l*N/A

          \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
        9. associate-/l*N/A

          \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
        10. distribute-rgt-out--N/A

          \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
        11. *-lowering-*.f64N/A

          \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
        12. /-lowering-/.f64N/A

          \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
        13. --lowering--.f64N/A

          \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
        14. --lowering--.f6453.4

          \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
      7. Simplified53.4%

        \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
      8. Taylor expanded in t around 0

        \[\leadsto \color{blue}{\frac{x \cdot \left(y - a\right)}{z}} \]
      9. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{x \cdot \left(y - a\right)}{z}} \]
        2. *-lowering-*.f64N/A

          \[\leadsto \frac{\color{blue}{x \cdot \left(y - a\right)}}{z} \]
        3. --lowering--.f6434.2

          \[\leadsto \frac{x \cdot \color{blue}{\left(y - a\right)}}{z} \]
      10. Simplified34.2%

        \[\leadsto \color{blue}{\frac{x \cdot \left(y - a\right)}{z}} \]

      if -2.6499999999999999e-128 < z < -1.80000000000000006e-221

      1. Initial program 83.6%

        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
      2. Add Preprocessing
      3. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
      4. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
        2. *-lowering-*.f64N/A

          \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
        3. --lowering--.f64N/A

          \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
        4. --lowering--.f6456.7

          \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
      5. Simplified56.7%

        \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
      6. Taylor expanded in y around inf

        \[\leadsto \color{blue}{\frac{t \cdot y}{a - z}} \]
      7. Step-by-step derivation
        1. associate-/l*N/A

          \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]
        2. *-lowering-*.f64N/A

          \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]
        3. /-lowering-/.f64N/A

          \[\leadsto t \cdot \color{blue}{\frac{y}{a - z}} \]
        4. --lowering--.f6472.6

          \[\leadsto t \cdot \frac{y}{\color{blue}{a - z}} \]
      8. Simplified72.6%

        \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]

      if -1.80000000000000006e-221 < z < 7.3999999999999997e-26

      1. Initial program 94.8%

        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
      2. Add Preprocessing
      3. Taylor expanded in x around inf

        \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
      4. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
        2. distribute-rgt-inN/A

          \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
        3. mul-1-negN/A

          \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
        4. distribute-lft-neg-outN/A

          \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
        5. *-commutativeN/A

          \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
        6. associate-/l*N/A

          \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
        7. *-commutativeN/A

          \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
        8. associate-/l*N/A

          \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
        9. distribute-lft-neg-inN/A

          \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
        10. mul-1-negN/A

          \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
        11. *-lft-identityN/A

          \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
        12. accelerator-lowering-fma.f64N/A

          \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
        13. mul-1-negN/A

          \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
        14. sub-negN/A

          \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
        15. +-commutativeN/A

          \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
        16. distribute-neg-inN/A

          \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
        17. unsub-negN/A

          \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
        18. remove-double-negN/A

          \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
        19. --lowering--.f64N/A

          \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
        20. /-lowering-/.f64N/A

          \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
        21. --lowering--.f6466.5

          \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
      5. Simplified66.5%

        \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
      6. Taylor expanded in z around 0

        \[\leadsto \color{blue}{x + -1 \cdot \frac{x \cdot y}{a}} \]
      7. Step-by-step derivation
        1. mul-1-negN/A

          \[\leadsto x + \color{blue}{\left(\mathsf{neg}\left(\frac{x \cdot y}{a}\right)\right)} \]
        2. unsub-negN/A

          \[\leadsto \color{blue}{x - \frac{x \cdot y}{a}} \]
        3. --lowering--.f64N/A

          \[\leadsto \color{blue}{x - \frac{x \cdot y}{a}} \]
        4. /-lowering-/.f64N/A

          \[\leadsto x - \color{blue}{\frac{x \cdot y}{a}} \]
        5. *-lowering-*.f6460.7

          \[\leadsto x - \frac{\color{blue}{x \cdot y}}{a} \]
      8. Simplified60.7%

        \[\leadsto \color{blue}{x - \frac{x \cdot y}{a}} \]

      if 7.3999999999999997e-26 < z

      1. Initial program 51.8%

        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
      2. Add Preprocessing
      3. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
      4. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
        2. *-lowering-*.f64N/A

          \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
        3. --lowering--.f64N/A

          \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
        4. --lowering--.f6445.9

          \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
      5. Simplified45.9%

        \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
      6. Taylor expanded in a around 0

        \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-1 \cdot z}} \]
      7. Step-by-step derivation
        1. mul-1-negN/A

          \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{\mathsf{neg}\left(z\right)}} \]
        2. neg-lowering-neg.f6438.4

          \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-z}} \]
      8. Simplified38.4%

        \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-z}} \]
      9. Step-by-step derivation
        1. neg-mul-1N/A

          \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-1 \cdot z}} \]
        2. *-commutativeN/A

          \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{z \cdot -1}} \]
        3. times-fracN/A

          \[\leadsto \color{blue}{\frac{t}{z} \cdot \frac{y - z}{-1}} \]
        4. div-invN/A

          \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\left(y - z\right) \cdot \frac{1}{-1}\right)} \]
        5. metadata-evalN/A

          \[\leadsto \frac{t}{z} \cdot \left(\left(y - z\right) \cdot \color{blue}{-1}\right) \]
        6. metadata-evalN/A

          \[\leadsto \frac{t}{z} \cdot \left(\left(y - z\right) \cdot \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \]
        7. distribute-rgt-neg-inN/A

          \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right) \cdot 1\right)\right)} \]
        8. *-rgt-identityN/A

          \[\leadsto \frac{t}{z} \cdot \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right)}\right)\right) \]
        9. sub-negN/A

          \[\leadsto \frac{t}{z} \cdot \left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right)\right) \]
        10. distribute-neg-inN/A

          \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\left(\mathsf{neg}\left(y\right)\right) + \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right)\right)} \]
        11. remove-double-negN/A

          \[\leadsto \frac{t}{z} \cdot \left(\left(\mathsf{neg}\left(y\right)\right) + \color{blue}{z}\right) \]
        12. +-commutativeN/A

          \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z + \left(\mathsf{neg}\left(y\right)\right)\right)} \]
        13. sub-negN/A

          \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z - y\right)} \]
        14. *-lowering-*.f64N/A

          \[\leadsto \color{blue}{\frac{t}{z} \cdot \left(z - y\right)} \]
        15. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{t}{z}} \cdot \left(z - y\right) \]
        16. --lowering--.f6444.7

          \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z - y\right)} \]
      10. Applied egg-rr44.7%

        \[\leadsto \color{blue}{\frac{t}{z} \cdot \left(z - y\right)} \]
    5. Recombined 5 regimes into one program.
    6. Final simplification51.1%

      \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -2.3 \cdot 10^{+80}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -2.65 \cdot 10^{-128}:\\ \;\;\;\;\frac{\left(y - a\right) \cdot x}{z}\\ \mathbf{elif}\;z \leq -1.8 \cdot 10^{-221}:\\ \;\;\;\;t \cdot \frac{y}{a - z}\\ \mathbf{elif}\;z \leq 7.4 \cdot 10^{-26}:\\ \;\;\;\;x - \frac{y \cdot x}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\ \end{array} \]
    7. Add Preprocessing

    Alternative 3: 37.2% accurate, 0.7× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -3.8 \cdot 10^{+51}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -5.5 \cdot 10^{-127}:\\ \;\;\;\;\frac{\mathsf{fma}\left(y, x, 0\right)}{z}\\ \mathbf{elif}\;z \leq 1.65 \cdot 10^{-234}:\\ \;\;\;\;t \cdot \frac{y}{a}\\ \mathbf{elif}\;z \leq 1.98 \cdot 10^{-19}:\\ \;\;\;\;\mathsf{fma}\left(z, \frac{x}{a}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
    (FPCore (x y z t a)
     :precision binary64
     (if (<= z -3.8e+51)
       t
       (if (<= z -5.5e-127)
         (/ (fma y x 0.0) z)
         (if (<= z 1.65e-234)
           (* t (/ y a))
           (if (<= z 1.98e-19) (fma z (/ x a) x) t)))))
    double code(double x, double y, double z, double t, double a) {
    	double tmp;
    	if (z <= -3.8e+51) {
    		tmp = t;
    	} else if (z <= -5.5e-127) {
    		tmp = fma(y, x, 0.0) / z;
    	} else if (z <= 1.65e-234) {
    		tmp = t * (y / a);
    	} else if (z <= 1.98e-19) {
    		tmp = fma(z, (x / a), x);
    	} else {
    		tmp = t;
    	}
    	return tmp;
    }
    
    function code(x, y, z, t, a)
    	tmp = 0.0
    	if (z <= -3.8e+51)
    		tmp = t;
    	elseif (z <= -5.5e-127)
    		tmp = Float64(fma(y, x, 0.0) / z);
    	elseif (z <= 1.65e-234)
    		tmp = Float64(t * Float64(y / a));
    	elseif (z <= 1.98e-19)
    		tmp = fma(z, Float64(x / a), x);
    	else
    		tmp = t;
    	end
    	return tmp
    end
    
    code[x_, y_, z_, t_, a_] := If[LessEqual[z, -3.8e+51], t, If[LessEqual[z, -5.5e-127], N[(N[(y * x + 0.0), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[z, 1.65e-234], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.98e-19], N[(z * N[(x / a), $MachinePrecision] + x), $MachinePrecision], t]]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;z \leq -3.8 \cdot 10^{+51}:\\
    \;\;\;\;t\\
    
    \mathbf{elif}\;z \leq -5.5 \cdot 10^{-127}:\\
    \;\;\;\;\frac{\mathsf{fma}\left(y, x, 0\right)}{z}\\
    
    \mathbf{elif}\;z \leq 1.65 \cdot 10^{-234}:\\
    \;\;\;\;t \cdot \frac{y}{a}\\
    
    \mathbf{elif}\;z \leq 1.98 \cdot 10^{-19}:\\
    \;\;\;\;\mathsf{fma}\left(z, \frac{x}{a}, x\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;t\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 4 regimes
    2. if z < -3.7999999999999997e51 or 1.98000000000000001e-19 < z

      1. Initial program 42.5%

        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
      2. Add Preprocessing
      3. Taylor expanded in z around inf

        \[\leadsto \color{blue}{t} \]
      4. Step-by-step derivation
        1. Simplified45.0%

          \[\leadsto \color{blue}{t} \]

        if -3.7999999999999997e51 < z < -5.50000000000000036e-127

        1. Initial program 80.5%

          \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
        2. Add Preprocessing
        3. Taylor expanded in x around inf

          \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
        4. Step-by-step derivation
          1. +-commutativeN/A

            \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
          2. distribute-rgt-inN/A

            \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
          3. mul-1-negN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
          4. distribute-lft-neg-outN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
          5. *-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
          6. associate-/l*N/A

            \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
          7. *-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
          8. associate-/l*N/A

            \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
          9. distribute-lft-neg-inN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
          10. mul-1-negN/A

            \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
          11. *-lft-identityN/A

            \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
          12. accelerator-lowering-fma.f64N/A

            \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
          13. mul-1-negN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
          14. sub-negN/A

            \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
          15. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
          16. distribute-neg-inN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
          17. unsub-negN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
          18. remove-double-negN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
          19. --lowering--.f64N/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
          20. /-lowering-/.f64N/A

            \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
          21. --lowering--.f6452.3

            \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
        5. Simplified52.3%

          \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
        6. Taylor expanded in a around 0

          \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-1 \cdot z}}, x\right) \]
        7. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{\mathsf{neg}\left(z\right)}}, x\right) \]
          2. neg-lowering-neg.f6428.8

            \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-z}}, x\right) \]
        8. Simplified28.8%

          \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-z}}, x\right) \]
        9. Taylor expanded in z around 0

          \[\leadsto \color{blue}{\frac{x \cdot y + z \cdot \left(x + -1 \cdot x\right)}{z}} \]
        10. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{x \cdot y + z \cdot \left(x + -1 \cdot x\right)}{z}} \]
          2. *-commutativeN/A

            \[\leadsto \frac{\color{blue}{y \cdot x} + z \cdot \left(x + -1 \cdot x\right)}{z} \]
          3. distribute-rgt1-inN/A

            \[\leadsto \frac{y \cdot x + z \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot x\right)}}{z} \]
          4. metadata-evalN/A

            \[\leadsto \frac{y \cdot x + z \cdot \left(\color{blue}{0} \cdot x\right)}{z} \]
          5. mul0-lftN/A

            \[\leadsto \frac{y \cdot x + z \cdot \color{blue}{0}}{z} \]
          6. mul0-rgtN/A

            \[\leadsto \frac{y \cdot x + \color{blue}{0}}{z} \]
          7. accelerator-lowering-fma.f6432.7

            \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(y, x, 0\right)}}{z} \]
        11. Simplified32.7%

          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(y, x, 0\right)}{z}} \]

        if -5.50000000000000036e-127 < z < 1.65000000000000007e-234

        1. Initial program 88.3%

          \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
        2. Add Preprocessing
        3. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
        4. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
          2. *-lowering-*.f64N/A

            \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
          3. --lowering--.f64N/A

            \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
          4. --lowering--.f6445.8

            \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
        5. Simplified45.8%

          \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
        6. Taylor expanded in a around inf

          \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
        7. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
          2. *-commutativeN/A

            \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
          3. *-lowering-*.f64N/A

            \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
          4. --lowering--.f6437.7

            \[\leadsto \frac{\color{blue}{\left(y - z\right)} \cdot t}{a} \]
        8. Simplified37.7%

          \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot t}{a}} \]
        9. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a} \]
          2. associate-/l*N/A

            \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
          3. *-lowering-*.f64N/A

            \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
          4. /-lowering-/.f64N/A

            \[\leadsto t \cdot \color{blue}{\frac{y - z}{a}} \]
          5. --lowering--.f6449.1

            \[\leadsto t \cdot \frac{\color{blue}{y - z}}{a} \]
        10. Applied egg-rr49.1%

          \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
        11. Taylor expanded in y around inf

          \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
        12. Step-by-step derivation
          1. /-lowering-/.f6447.0

            \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
        13. Simplified47.0%

          \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]

        if 1.65000000000000007e-234 < z < 1.98000000000000001e-19

        1. Initial program 97.8%

          \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
        2. Add Preprocessing
        3. Taylor expanded in x around inf

          \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
        4. Step-by-step derivation
          1. +-commutativeN/A

            \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
          2. distribute-rgt-inN/A

            \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
          3. mul-1-negN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
          4. distribute-lft-neg-outN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
          5. *-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
          6. associate-/l*N/A

            \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
          7. *-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
          8. associate-/l*N/A

            \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
          9. distribute-lft-neg-inN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
          10. mul-1-negN/A

            \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
          11. *-lft-identityN/A

            \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
          12. accelerator-lowering-fma.f64N/A

            \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
          13. mul-1-negN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
          14. sub-negN/A

            \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
          15. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
          16. distribute-neg-inN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
          17. unsub-negN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
          18. remove-double-negN/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
          19. --lowering--.f64N/A

            \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
          20. /-lowering-/.f64N/A

            \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
          21. --lowering--.f6471.9

            \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
        5. Simplified71.9%

          \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
        6. Taylor expanded in z around inf

          \[\leadsto \mathsf{fma}\left(\color{blue}{z}, \frac{x}{a - z}, x\right) \]
        7. Step-by-step derivation
          1. Simplified52.5%

            \[\leadsto \mathsf{fma}\left(\color{blue}{z}, \frac{x}{a - z}, x\right) \]
          2. Taylor expanded in a around inf

            \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
          3. Step-by-step derivation
            1. /-lowering-/.f6454.4

              \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
          4. Simplified54.4%

            \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
        8. Recombined 4 regimes into one program.
        9. Add Preprocessing

        Alternative 4: 88.6% accurate, 0.7× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_1 := t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \mathbf{if}\;z \leq -6.5 \cdot 10^{+138}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 3.2 \cdot 10^{+162}:\\ \;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
        (FPCore (x y z t a)
         :precision binary64
         (let* ((t_1 (+ t (* (- y a) (/ (- x t) z)))))
           (if (<= z -6.5e+138)
             t_1
             (if (<= z 3.2e+162) (fma (- t x) (/ (- y z) (- a z)) x) t_1))))
        double code(double x, double y, double z, double t, double a) {
        	double t_1 = t + ((y - a) * ((x - t) / z));
        	double tmp;
        	if (z <= -6.5e+138) {
        		tmp = t_1;
        	} else if (z <= 3.2e+162) {
        		tmp = fma((t - x), ((y - z) / (a - z)), x);
        	} else {
        		tmp = t_1;
        	}
        	return tmp;
        }
        
        function code(x, y, z, t, a)
        	t_1 = Float64(t + Float64(Float64(y - a) * Float64(Float64(x - t) / z)))
        	tmp = 0.0
        	if (z <= -6.5e+138)
        		tmp = t_1;
        	elseif (z <= 3.2e+162)
        		tmp = fma(Float64(t - x), Float64(Float64(y - z) / Float64(a - z)), x);
        	else
        		tmp = t_1;
        	end
        	return tmp
        end
        
        code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t + N[(N[(y - a), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -6.5e+138], t$95$1, If[LessEqual[z, 3.2e+162], N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_1 := t + \left(y - a\right) \cdot \frac{x - t}{z}\\
        \mathbf{if}\;z \leq -6.5 \cdot 10^{+138}:\\
        \;\;\;\;t\_1\\
        
        \mathbf{elif}\;z \leq 3.2 \cdot 10^{+162}:\\
        \;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\
        
        \mathbf{else}:\\
        \;\;\;\;t\_1\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if z < -6.50000000000000054e138 or 3.2000000000000001e162 < z

          1. Initial program 20.0%

            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
            2. *-commutativeN/A

              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
            3. associate-/l*N/A

              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
            4. accelerator-lowering-fma.f64N/A

              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
            5. --lowering--.f64N/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
            6. /-lowering-/.f64N/A

              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
            7. --lowering--.f64N/A

              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
            8. --lowering--.f6452.4

              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
          4. Applied egg-rr52.4%

            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
          5. Taylor expanded in z around inf

            \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
          6. Step-by-step derivation
            1. associate--l+N/A

              \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
            2. distribute-lft-out--N/A

              \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
            3. div-subN/A

              \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
            4. mul-1-negN/A

              \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
            5. unsub-negN/A

              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
            6. --lowering--.f64N/A

              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
            7. div-subN/A

              \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
            8. associate-/l*N/A

              \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
            9. associate-/l*N/A

              \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
            10. distribute-rgt-out--N/A

              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
            11. *-lowering-*.f64N/A

              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
            12. /-lowering-/.f64N/A

              \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
            13. --lowering--.f64N/A

              \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
            14. --lowering--.f6487.6

              \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
          7. Simplified87.6%

            \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]

          if -6.50000000000000054e138 < z < 3.2000000000000001e162

          1. Initial program 82.0%

            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
            2. *-commutativeN/A

              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
            3. associate-/l*N/A

              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
            4. accelerator-lowering-fma.f64N/A

              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
            5. --lowering--.f64N/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
            6. /-lowering-/.f64N/A

              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
            7. --lowering--.f64N/A

              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
            8. --lowering--.f6492.1

              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
          4. Applied egg-rr92.1%

            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
        3. Recombined 2 regimes into one program.
        4. Final simplification90.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -6.5 \cdot 10^{+138}:\\ \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \mathbf{elif}\;z \leq 3.2 \cdot 10^{+162}:\\ \;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \end{array} \]
        5. Add Preprocessing

        Alternative 5: 44.0% accurate, 0.8× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -1.75 \cdot 10^{+72}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -8.5 \cdot 10^{-223}:\\ \;\;\;\;t \cdot \frac{y}{a - z}\\ \mathbf{elif}\;z \leq 6.9 \cdot 10^{-28}:\\ \;\;\;\;x - \frac{y \cdot x}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\ \end{array} \end{array} \]
        (FPCore (x y z t a)
         :precision binary64
         (if (<= z -1.75e+72)
           t
           (if (<= z -8.5e-223)
             (* t (/ y (- a z)))
             (if (<= z 6.9e-28) (- x (/ (* y x) a)) (* (/ t z) (- z y))))))
        double code(double x, double y, double z, double t, double a) {
        	double tmp;
        	if (z <= -1.75e+72) {
        		tmp = t;
        	} else if (z <= -8.5e-223) {
        		tmp = t * (y / (a - z));
        	} else if (z <= 6.9e-28) {
        		tmp = x - ((y * x) / a);
        	} else {
        		tmp = (t / z) * (z - y);
        	}
        	return tmp;
        }
        
        real(8) function code(x, y, z, t, a)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8), intent (in) :: z
            real(8), intent (in) :: t
            real(8), intent (in) :: a
            real(8) :: tmp
            if (z <= (-1.75d+72)) then
                tmp = t
            else if (z <= (-8.5d-223)) then
                tmp = t * (y / (a - z))
            else if (z <= 6.9d-28) then
                tmp = x - ((y * x) / a)
            else
                tmp = (t / z) * (z - y)
            end if
            code = tmp
        end function
        
        public static double code(double x, double y, double z, double t, double a) {
        	double tmp;
        	if (z <= -1.75e+72) {
        		tmp = t;
        	} else if (z <= -8.5e-223) {
        		tmp = t * (y / (a - z));
        	} else if (z <= 6.9e-28) {
        		tmp = x - ((y * x) / a);
        	} else {
        		tmp = (t / z) * (z - y);
        	}
        	return tmp;
        }
        
        def code(x, y, z, t, a):
        	tmp = 0
        	if z <= -1.75e+72:
        		tmp = t
        	elif z <= -8.5e-223:
        		tmp = t * (y / (a - z))
        	elif z <= 6.9e-28:
        		tmp = x - ((y * x) / a)
        	else:
        		tmp = (t / z) * (z - y)
        	return tmp
        
        function code(x, y, z, t, a)
        	tmp = 0.0
        	if (z <= -1.75e+72)
        		tmp = t;
        	elseif (z <= -8.5e-223)
        		tmp = Float64(t * Float64(y / Float64(a - z)));
        	elseif (z <= 6.9e-28)
        		tmp = Float64(x - Float64(Float64(y * x) / a));
        	else
        		tmp = Float64(Float64(t / z) * Float64(z - y));
        	end
        	return tmp
        end
        
        function tmp_2 = code(x, y, z, t, a)
        	tmp = 0.0;
        	if (z <= -1.75e+72)
        		tmp = t;
        	elseif (z <= -8.5e-223)
        		tmp = t * (y / (a - z));
        	elseif (z <= 6.9e-28)
        		tmp = x - ((y * x) / a);
        	else
        		tmp = (t / z) * (z - y);
        	end
        	tmp_2 = tmp;
        end
        
        code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.75e+72], t, If[LessEqual[z, -8.5e-223], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6.9e-28], N[(x - N[(N[(y * x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(N[(t / z), $MachinePrecision] * N[(z - y), $MachinePrecision]), $MachinePrecision]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;z \leq -1.75 \cdot 10^{+72}:\\
        \;\;\;\;t\\
        
        \mathbf{elif}\;z \leq -8.5 \cdot 10^{-223}:\\
        \;\;\;\;t \cdot \frac{y}{a - z}\\
        
        \mathbf{elif}\;z \leq 6.9 \cdot 10^{-28}:\\
        \;\;\;\;x - \frac{y \cdot x}{a}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 4 regimes
        2. if z < -1.75000000000000005e72

          1. Initial program 28.4%

            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
          2. Add Preprocessing
          3. Taylor expanded in z around inf

            \[\leadsto \color{blue}{t} \]
          4. Step-by-step derivation
            1. Simplified52.7%

              \[\leadsto \color{blue}{t} \]

            if -1.75000000000000005e72 < z < -8.5000000000000003e-223

            1. Initial program 77.3%

              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
            2. Add Preprocessing
            3. Taylor expanded in x around 0

              \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
            4. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
              2. *-lowering-*.f64N/A

                \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
              3. --lowering--.f64N/A

                \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
              4. --lowering--.f6445.3

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
            5. Simplified45.3%

              \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
            6. Taylor expanded in y around inf

              \[\leadsto \color{blue}{\frac{t \cdot y}{a - z}} \]
            7. Step-by-step derivation
              1. associate-/l*N/A

                \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]
              2. *-lowering-*.f64N/A

                \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]
              3. /-lowering-/.f64N/A

                \[\leadsto t \cdot \color{blue}{\frac{y}{a - z}} \]
              4. --lowering--.f6437.4

                \[\leadsto t \cdot \frac{y}{\color{blue}{a - z}} \]
            8. Simplified37.4%

              \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]

            if -8.5000000000000003e-223 < z < 6.90000000000000001e-28

            1. Initial program 94.8%

              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
            2. Add Preprocessing
            3. Taylor expanded in x around inf

              \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
            4. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
              2. distribute-rgt-inN/A

                \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
              3. mul-1-negN/A

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
              4. distribute-lft-neg-outN/A

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
              5. *-commutativeN/A

                \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
              6. associate-/l*N/A

                \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
              7. *-commutativeN/A

                \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
              8. associate-/l*N/A

                \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
              9. distribute-lft-neg-inN/A

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
              10. mul-1-negN/A

                \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
              11. *-lft-identityN/A

                \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
              12. accelerator-lowering-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
              13. mul-1-negN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
              14. sub-negN/A

                \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
              15. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
              16. distribute-neg-inN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
              17. unsub-negN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
              18. remove-double-negN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
              19. --lowering--.f64N/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
              20. /-lowering-/.f64N/A

                \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
              21. --lowering--.f6466.5

                \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
            5. Simplified66.5%

              \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
            6. Taylor expanded in z around 0

              \[\leadsto \color{blue}{x + -1 \cdot \frac{x \cdot y}{a}} \]
            7. Step-by-step derivation
              1. mul-1-negN/A

                \[\leadsto x + \color{blue}{\left(\mathsf{neg}\left(\frac{x \cdot y}{a}\right)\right)} \]
              2. unsub-negN/A

                \[\leadsto \color{blue}{x - \frac{x \cdot y}{a}} \]
              3. --lowering--.f64N/A

                \[\leadsto \color{blue}{x - \frac{x \cdot y}{a}} \]
              4. /-lowering-/.f64N/A

                \[\leadsto x - \color{blue}{\frac{x \cdot y}{a}} \]
              5. *-lowering-*.f6460.7

                \[\leadsto x - \frac{\color{blue}{x \cdot y}}{a} \]
            8. Simplified60.7%

              \[\leadsto \color{blue}{x - \frac{x \cdot y}{a}} \]

            if 6.90000000000000001e-28 < z

            1. Initial program 51.8%

              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
            2. Add Preprocessing
            3. Taylor expanded in x around 0

              \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
            4. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
              2. *-lowering-*.f64N/A

                \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
              3. --lowering--.f64N/A

                \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
              4. --lowering--.f6445.9

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
            5. Simplified45.9%

              \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
            6. Taylor expanded in a around 0

              \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-1 \cdot z}} \]
            7. Step-by-step derivation
              1. mul-1-negN/A

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{\mathsf{neg}\left(z\right)}} \]
              2. neg-lowering-neg.f6438.4

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-z}} \]
            8. Simplified38.4%

              \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-z}} \]
            9. Step-by-step derivation
              1. neg-mul-1N/A

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-1 \cdot z}} \]
              2. *-commutativeN/A

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{z \cdot -1}} \]
              3. times-fracN/A

                \[\leadsto \color{blue}{\frac{t}{z} \cdot \frac{y - z}{-1}} \]
              4. div-invN/A

                \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\left(y - z\right) \cdot \frac{1}{-1}\right)} \]
              5. metadata-evalN/A

                \[\leadsto \frac{t}{z} \cdot \left(\left(y - z\right) \cdot \color{blue}{-1}\right) \]
              6. metadata-evalN/A

                \[\leadsto \frac{t}{z} \cdot \left(\left(y - z\right) \cdot \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \]
              7. distribute-rgt-neg-inN/A

                \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right) \cdot 1\right)\right)} \]
              8. *-rgt-identityN/A

                \[\leadsto \frac{t}{z} \cdot \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right)}\right)\right) \]
              9. sub-negN/A

                \[\leadsto \frac{t}{z} \cdot \left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right)\right) \]
              10. distribute-neg-inN/A

                \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\left(\mathsf{neg}\left(y\right)\right) + \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right)\right)} \]
              11. remove-double-negN/A

                \[\leadsto \frac{t}{z} \cdot \left(\left(\mathsf{neg}\left(y\right)\right) + \color{blue}{z}\right) \]
              12. +-commutativeN/A

                \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z + \left(\mathsf{neg}\left(y\right)\right)\right)} \]
              13. sub-negN/A

                \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z - y\right)} \]
              14. *-lowering-*.f64N/A

                \[\leadsto \color{blue}{\frac{t}{z} \cdot \left(z - y\right)} \]
              15. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{t}{z}} \cdot \left(z - y\right) \]
              16. --lowering--.f6444.7

                \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z - y\right)} \]
            10. Applied egg-rr44.7%

              \[\leadsto \color{blue}{\frac{t}{z} \cdot \left(z - y\right)} \]
          5. Recombined 4 regimes into one program.
          6. Final simplification49.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -1.75 \cdot 10^{+72}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -8.5 \cdot 10^{-223}:\\ \;\;\;\;t \cdot \frac{y}{a - z}\\ \mathbf{elif}\;z \leq 6.9 \cdot 10^{-28}:\\ \;\;\;\;x - \frac{y \cdot x}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\ \end{array} \]
          7. Add Preprocessing

          Alternative 6: 44.0% accurate, 0.8× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;a \leq -2.5 \cdot 10^{+104}:\\ \;\;\;\;\mathsf{fma}\left(z, \frac{x}{a}, x\right)\\ \mathbf{elif}\;a \leq 3.3 \cdot 10^{-53}:\\ \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\ \mathbf{elif}\;a \leq 2.4 \cdot 10^{+126}:\\ \;\;\;\;y \cdot \frac{t - x}{a}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \end{array} \]
          (FPCore (x y z t a)
           :precision binary64
           (if (<= a -2.5e+104)
             (fma z (/ x a) x)
             (if (<= a 3.3e-53)
               (* (/ t z) (- z y))
               (if (<= a 2.4e+126) (* y (/ (- t x) a)) x))))
          double code(double x, double y, double z, double t, double a) {
          	double tmp;
          	if (a <= -2.5e+104) {
          		tmp = fma(z, (x / a), x);
          	} else if (a <= 3.3e-53) {
          		tmp = (t / z) * (z - y);
          	} else if (a <= 2.4e+126) {
          		tmp = y * ((t - x) / a);
          	} else {
          		tmp = x;
          	}
          	return tmp;
          }
          
          function code(x, y, z, t, a)
          	tmp = 0.0
          	if (a <= -2.5e+104)
          		tmp = fma(z, Float64(x / a), x);
          	elseif (a <= 3.3e-53)
          		tmp = Float64(Float64(t / z) * Float64(z - y));
          	elseif (a <= 2.4e+126)
          		tmp = Float64(y * Float64(Float64(t - x) / a));
          	else
          		tmp = x;
          	end
          	return tmp
          end
          
          code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.5e+104], N[(z * N[(x / a), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[a, 3.3e-53], N[(N[(t / z), $MachinePrecision] * N[(z - y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.4e+126], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], x]]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;a \leq -2.5 \cdot 10^{+104}:\\
          \;\;\;\;\mathsf{fma}\left(z, \frac{x}{a}, x\right)\\
          
          \mathbf{elif}\;a \leq 3.3 \cdot 10^{-53}:\\
          \;\;\;\;\frac{t}{z} \cdot \left(z - y\right)\\
          
          \mathbf{elif}\;a \leq 2.4 \cdot 10^{+126}:\\
          \;\;\;\;y \cdot \frac{t - x}{a}\\
          
          \mathbf{else}:\\
          \;\;\;\;x\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 4 regimes
          2. if a < -2.4999999999999998e104

            1. Initial program 58.6%

              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
            2. Add Preprocessing
            3. Taylor expanded in x around inf

              \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
            4. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
              2. distribute-rgt-inN/A

                \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
              3. mul-1-negN/A

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
              4. distribute-lft-neg-outN/A

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
              5. *-commutativeN/A

                \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
              6. associate-/l*N/A

                \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
              7. *-commutativeN/A

                \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
              8. associate-/l*N/A

                \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
              9. distribute-lft-neg-inN/A

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
              10. mul-1-negN/A

                \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
              11. *-lft-identityN/A

                \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
              12. accelerator-lowering-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
              13. mul-1-negN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
              14. sub-negN/A

                \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
              15. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
              16. distribute-neg-inN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
              17. unsub-negN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
              18. remove-double-negN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
              19. --lowering--.f64N/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
              20. /-lowering-/.f64N/A

                \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
              21. --lowering--.f6451.4

                \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
            5. Simplified51.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
            6. Taylor expanded in z around inf

              \[\leadsto \mathsf{fma}\left(\color{blue}{z}, \frac{x}{a - z}, x\right) \]
            7. Step-by-step derivation
              1. Simplified51.4%

                \[\leadsto \mathsf{fma}\left(\color{blue}{z}, \frac{x}{a - z}, x\right) \]
              2. Taylor expanded in a around inf

                \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
              3. Step-by-step derivation
                1. /-lowering-/.f6449.2

                  \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
              4. Simplified49.2%

                \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]

              if -2.4999999999999998e104 < a < 3.30000000000000004e-53

              1. Initial program 70.3%

                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
              2. Add Preprocessing
              3. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
              4. Step-by-step derivation
                1. /-lowering-/.f64N/A

                  \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                2. *-lowering-*.f64N/A

                  \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
                3. --lowering--.f64N/A

                  \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
                4. --lowering--.f6451.3

                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
              5. Simplified51.3%

                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
              6. Taylor expanded in a around 0

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-1 \cdot z}} \]
              7. Step-by-step derivation
                1. mul-1-negN/A

                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{\mathsf{neg}\left(z\right)}} \]
                2. neg-lowering-neg.f6442.3

                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-z}} \]
              8. Simplified42.3%

                \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-z}} \]
              9. Step-by-step derivation
                1. neg-mul-1N/A

                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{-1 \cdot z}} \]
                2. *-commutativeN/A

                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{z \cdot -1}} \]
                3. times-fracN/A

                  \[\leadsto \color{blue}{\frac{t}{z} \cdot \frac{y - z}{-1}} \]
                4. div-invN/A

                  \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\left(y - z\right) \cdot \frac{1}{-1}\right)} \]
                5. metadata-evalN/A

                  \[\leadsto \frac{t}{z} \cdot \left(\left(y - z\right) \cdot \color{blue}{-1}\right) \]
                6. metadata-evalN/A

                  \[\leadsto \frac{t}{z} \cdot \left(\left(y - z\right) \cdot \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \]
                7. distribute-rgt-neg-inN/A

                  \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right) \cdot 1\right)\right)} \]
                8. *-rgt-identityN/A

                  \[\leadsto \frac{t}{z} \cdot \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right)}\right)\right) \]
                9. sub-negN/A

                  \[\leadsto \frac{t}{z} \cdot \left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right)\right) \]
                10. distribute-neg-inN/A

                  \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(\left(\mathsf{neg}\left(y\right)\right) + \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right)\right)} \]
                11. remove-double-negN/A

                  \[\leadsto \frac{t}{z} \cdot \left(\left(\mathsf{neg}\left(y\right)\right) + \color{blue}{z}\right) \]
                12. +-commutativeN/A

                  \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z + \left(\mathsf{neg}\left(y\right)\right)\right)} \]
                13. sub-negN/A

                  \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z - y\right)} \]
                14. *-lowering-*.f64N/A

                  \[\leadsto \color{blue}{\frac{t}{z} \cdot \left(z - y\right)} \]
                15. /-lowering-/.f64N/A

                  \[\leadsto \color{blue}{\frac{t}{z}} \cdot \left(z - y\right) \]
                16. --lowering--.f6447.2

                  \[\leadsto \frac{t}{z} \cdot \color{blue}{\left(z - y\right)} \]
              10. Applied egg-rr47.2%

                \[\leadsto \color{blue}{\frac{t}{z} \cdot \left(z - y\right)} \]

              if 3.30000000000000004e-53 < a < 2.40000000000000012e126

              1. Initial program 70.2%

                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                2. associate-/l*N/A

                  \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{t - x}{a - z}} + x \]
                3. *-commutativeN/A

                  \[\leadsto \color{blue}{\frac{t - x}{a - z} \cdot \left(y - z\right)} + x \]
                4. accelerator-lowering-fma.f64N/A

                  \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{t - x}{a - z}, y - z, x\right)} \]
                5. /-lowering-/.f64N/A

                  \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{t - x}{a - z}}, y - z, x\right) \]
                6. --lowering--.f64N/A

                  \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t - x}}{a - z}, y - z, x\right) \]
                7. --lowering--.f64N/A

                  \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a - z}}, y - z, x\right) \]
                8. --lowering--.f6475.7

                  \[\leadsto \mathsf{fma}\left(\frac{t - x}{a - z}, \color{blue}{y - z}, x\right) \]
              4. Applied egg-rr75.7%

                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{t - x}{a - z}, y - z, x\right)} \]
              5. Taylor expanded in a around inf

                \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a}}, y - z, x\right) \]
              6. Step-by-step derivation
                1. Simplified55.8%

                  \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a}}, y - z, x\right) \]
                2. Taylor expanded in y around inf

                  \[\leadsto \color{blue}{y \cdot \left(\frac{t}{a} - \frac{x}{a}\right)} \]
                3. Step-by-step derivation
                  1. *-lowering-*.f64N/A

                    \[\leadsto \color{blue}{y \cdot \left(\frac{t}{a} - \frac{x}{a}\right)} \]
                  2. div-subN/A

                    \[\leadsto y \cdot \color{blue}{\frac{t - x}{a}} \]
                  3. /-lowering-/.f64N/A

                    \[\leadsto y \cdot \color{blue}{\frac{t - x}{a}} \]
                  4. --lowering--.f6438.3

                    \[\leadsto y \cdot \frac{\color{blue}{t - x}}{a} \]
                4. Simplified38.3%

                  \[\leadsto \color{blue}{y \cdot \frac{t - x}{a}} \]

                if 2.40000000000000012e126 < a

                1. Initial program 54.8%

                  \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                2. Add Preprocessing
                3. Taylor expanded in a around inf

                  \[\leadsto \color{blue}{x} \]
                4. Step-by-step derivation
                  1. Simplified52.5%

                    \[\leadsto \color{blue}{x} \]
                5. Recombined 4 regimes into one program.
                6. Add Preprocessing

                Alternative 7: 73.6% accurate, 0.8× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} t_1 := \mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\ \mathbf{if}\;a \leq -40:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;a \leq 2.85 \cdot 10^{-52}:\\ \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                (FPCore (x y z t a)
                 :precision binary64
                 (let* ((t_1 (fma (- y z) (/ (- t x) a) x)))
                   (if (<= a -40.0)
                     t_1
                     (if (<= a 2.85e-52) (+ t (* (- y a) (/ (- x t) z))) t_1))))
                double code(double x, double y, double z, double t, double a) {
                	double t_1 = fma((y - z), ((t - x) / a), x);
                	double tmp;
                	if (a <= -40.0) {
                		tmp = t_1;
                	} else if (a <= 2.85e-52) {
                		tmp = t + ((y - a) * ((x - t) / z));
                	} else {
                		tmp = t_1;
                	}
                	return tmp;
                }
                
                function code(x, y, z, t, a)
                	t_1 = fma(Float64(y - z), Float64(Float64(t - x) / a), x)
                	tmp = 0.0
                	if (a <= -40.0)
                		tmp = t_1;
                	elseif (a <= 2.85e-52)
                		tmp = Float64(t + Float64(Float64(y - a) * Float64(Float64(x - t) / z)));
                	else
                		tmp = t_1;
                	end
                	return tmp
                end
                
                code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -40.0], t$95$1, If[LessEqual[a, 2.85e-52], N[(t + N[(N[(y - a), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                t_1 := \mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\
                \mathbf{if}\;a \leq -40:\\
                \;\;\;\;t\_1\\
                
                \mathbf{elif}\;a \leq 2.85 \cdot 10^{-52}:\\
                \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\
                
                \mathbf{else}:\\
                \;\;\;\;t\_1\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if a < -40 or 2.8499999999999999e-52 < a

                  1. Initial program 63.8%

                    \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                  2. Add Preprocessing
                  3. Taylor expanded in a around inf

                    \[\leadsto \color{blue}{x + \frac{\left(t - x\right) \cdot \left(y - z\right)}{a}} \]
                  4. Step-by-step derivation
                    1. +-commutativeN/A

                      \[\leadsto \color{blue}{\frac{\left(t - x\right) \cdot \left(y - z\right)}{a} + x} \]
                    2. *-commutativeN/A

                      \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot \left(t - x\right)}}{a} + x \]
                    3. associate-/l*N/A

                      \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{t - x}{a}} + x \]
                    4. accelerator-lowering-fma.f64N/A

                      \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)} \]
                    5. --lowering--.f64N/A

                      \[\leadsto \mathsf{fma}\left(\color{blue}{y - z}, \frac{t - x}{a}, x\right) \]
                    6. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{fma}\left(y - z, \color{blue}{\frac{t - x}{a}}, x\right) \]
                    7. --lowering--.f6472.4

                      \[\leadsto \mathsf{fma}\left(y - z, \frac{\color{blue}{t - x}}{a}, x\right) \]
                  5. Simplified72.4%

                    \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)} \]

                  if -40 < a < 2.8499999999999999e-52

                  1. Initial program 68.7%

                    \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                  2. Add Preprocessing
                  3. Step-by-step derivation
                    1. +-commutativeN/A

                      \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                    2. *-commutativeN/A

                      \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                    3. associate-/l*N/A

                      \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                    4. accelerator-lowering-fma.f64N/A

                      \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                    5. --lowering--.f64N/A

                      \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                    6. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                    7. --lowering--.f64N/A

                      \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                    8. --lowering--.f6476.2

                      \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                  4. Applied egg-rr76.2%

                    \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                  5. Taylor expanded in z around inf

                    \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                  6. Step-by-step derivation
                    1. associate--l+N/A

                      \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                    2. distribute-lft-out--N/A

                      \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                    3. div-subN/A

                      \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                    4. mul-1-negN/A

                      \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                    5. unsub-negN/A

                      \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                    6. --lowering--.f64N/A

                      \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                    7. div-subN/A

                      \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                    8. associate-/l*N/A

                      \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                    9. associate-/l*N/A

                      \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                    10. distribute-rgt-out--N/A

                      \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                    11. *-lowering-*.f64N/A

                      \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                    12. /-lowering-/.f64N/A

                      \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                    13. --lowering--.f64N/A

                      \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                    14. --lowering--.f6481.6

                      \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                  7. Simplified81.6%

                    \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                3. Recombined 2 regimes into one program.
                4. Final simplification77.0%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;a \leq -40:\\ \;\;\;\;\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\ \mathbf{elif}\;a \leq 2.85 \cdot 10^{-52}:\\ \;\;\;\;t + \left(y - a\right) \cdot \frac{x - t}{z}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\ \end{array} \]
                5. Add Preprocessing

                Alternative 8: 39.1% accurate, 0.8× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -7.2 \cdot 10^{+83}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq 1.95 \cdot 10^{-236}:\\ \;\;\;\;t \cdot \frac{y}{a - z}\\ \mathbf{elif}\;z \leq 1.75 \cdot 10^{-19}:\\ \;\;\;\;\mathsf{fma}\left(z, \frac{x}{a}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
                (FPCore (x y z t a)
                 :precision binary64
                 (if (<= z -7.2e+83)
                   t
                   (if (<= z 1.95e-236)
                     (* t (/ y (- a z)))
                     (if (<= z 1.75e-19) (fma z (/ x a) x) t))))
                double code(double x, double y, double z, double t, double a) {
                	double tmp;
                	if (z <= -7.2e+83) {
                		tmp = t;
                	} else if (z <= 1.95e-236) {
                		tmp = t * (y / (a - z));
                	} else if (z <= 1.75e-19) {
                		tmp = fma(z, (x / a), x);
                	} else {
                		tmp = t;
                	}
                	return tmp;
                }
                
                function code(x, y, z, t, a)
                	tmp = 0.0
                	if (z <= -7.2e+83)
                		tmp = t;
                	elseif (z <= 1.95e-236)
                		tmp = Float64(t * Float64(y / Float64(a - z)));
                	elseif (z <= 1.75e-19)
                		tmp = fma(z, Float64(x / a), x);
                	else
                		tmp = t;
                	end
                	return tmp
                end
                
                code[x_, y_, z_, t_, a_] := If[LessEqual[z, -7.2e+83], t, If[LessEqual[z, 1.95e-236], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.75e-19], N[(z * N[(x / a), $MachinePrecision] + x), $MachinePrecision], t]]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                \mathbf{if}\;z \leq -7.2 \cdot 10^{+83}:\\
                \;\;\;\;t\\
                
                \mathbf{elif}\;z \leq 1.95 \cdot 10^{-236}:\\
                \;\;\;\;t \cdot \frac{y}{a - z}\\
                
                \mathbf{elif}\;z \leq 1.75 \cdot 10^{-19}:\\
                \;\;\;\;\mathsf{fma}\left(z, \frac{x}{a}, x\right)\\
                
                \mathbf{else}:\\
                \;\;\;\;t\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 3 regimes
                2. if z < -7.1999999999999995e83 or 1.75000000000000008e-19 < z

                  1. Initial program 42.4%

                    \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                  2. Add Preprocessing
                  3. Taylor expanded in z around inf

                    \[\leadsto \color{blue}{t} \]
                  4. Step-by-step derivation
                    1. Simplified46.7%

                      \[\leadsto \color{blue}{t} \]

                    if -7.1999999999999995e83 < z < 1.95e-236

                    1. Initial program 82.1%

                      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                    2. Add Preprocessing
                    3. Taylor expanded in x around 0

                      \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                    4. Step-by-step derivation
                      1. /-lowering-/.f64N/A

                        \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                      2. *-lowering-*.f64N/A

                        \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
                      3. --lowering--.f64N/A

                        \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
                      4. --lowering--.f6443.3

                        \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
                    5. Simplified43.3%

                      \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                    6. Taylor expanded in y around inf

                      \[\leadsto \color{blue}{\frac{t \cdot y}{a - z}} \]
                    7. Step-by-step derivation
                      1. associate-/l*N/A

                        \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]
                      2. *-lowering-*.f64N/A

                        \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]
                      3. /-lowering-/.f64N/A

                        \[\leadsto t \cdot \color{blue}{\frac{y}{a - z}} \]
                      4. --lowering--.f6441.2

                        \[\leadsto t \cdot \frac{y}{\color{blue}{a - z}} \]
                    8. Simplified41.2%

                      \[\leadsto \color{blue}{t \cdot \frac{y}{a - z}} \]

                    if 1.95e-236 < z < 1.75000000000000008e-19

                    1. Initial program 97.8%

                      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                    2. Add Preprocessing
                    3. Taylor expanded in x around inf

                      \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
                    4. Step-by-step derivation
                      1. +-commutativeN/A

                        \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
                      2. distribute-rgt-inN/A

                        \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
                      3. mul-1-negN/A

                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
                      4. distribute-lft-neg-outN/A

                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
                      5. *-commutativeN/A

                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
                      6. associate-/l*N/A

                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
                      7. *-commutativeN/A

                        \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
                      8. associate-/l*N/A

                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
                      9. distribute-lft-neg-inN/A

                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
                      10. mul-1-negN/A

                        \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
                      11. *-lft-identityN/A

                        \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
                      12. accelerator-lowering-fma.f64N/A

                        \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
                      13. mul-1-negN/A

                        \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
                      14. sub-negN/A

                        \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
                      15. +-commutativeN/A

                        \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
                      16. distribute-neg-inN/A

                        \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
                      17. unsub-negN/A

                        \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
                      18. remove-double-negN/A

                        \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
                      19. --lowering--.f64N/A

                        \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
                      20. /-lowering-/.f64N/A

                        \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
                      21. --lowering--.f6471.9

                        \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
                    5. Simplified71.9%

                      \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
                    6. Taylor expanded in z around inf

                      \[\leadsto \mathsf{fma}\left(\color{blue}{z}, \frac{x}{a - z}, x\right) \]
                    7. Step-by-step derivation
                      1. Simplified52.5%

                        \[\leadsto \mathsf{fma}\left(\color{blue}{z}, \frac{x}{a - z}, x\right) \]
                      2. Taylor expanded in a around inf

                        \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
                      3. Step-by-step derivation
                        1. /-lowering-/.f6454.4

                          \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
                      4. Simplified54.4%

                        \[\leadsto \mathsf{fma}\left(z, \color{blue}{\frac{x}{a}}, x\right) \]
                    8. Recombined 3 regimes into one program.
                    9. Add Preprocessing

                    Alternative 9: 72.2% accurate, 0.8× speedup?

                    \[\begin{array}{l} \\ \begin{array}{l} t_1 := \mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\ \mathbf{if}\;a \leq -3.7:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\ \;\;\;\;t + y \cdot \frac{x - t}{z}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                    (FPCore (x y z t a)
                     :precision binary64
                     (let* ((t_1 (fma (- y z) (/ (- t x) a) x)))
                       (if (<= a -3.7) t_1 (if (<= a 3.2e-52) (+ t (* y (/ (- x t) z))) t_1))))
                    double code(double x, double y, double z, double t, double a) {
                    	double t_1 = fma((y - z), ((t - x) / a), x);
                    	double tmp;
                    	if (a <= -3.7) {
                    		tmp = t_1;
                    	} else if (a <= 3.2e-52) {
                    		tmp = t + (y * ((x - t) / z));
                    	} else {
                    		tmp = t_1;
                    	}
                    	return tmp;
                    }
                    
                    function code(x, y, z, t, a)
                    	t_1 = fma(Float64(y - z), Float64(Float64(t - x) / a), x)
                    	tmp = 0.0
                    	if (a <= -3.7)
                    		tmp = t_1;
                    	elseif (a <= 3.2e-52)
                    		tmp = Float64(t + Float64(y * Float64(Float64(x - t) / z)));
                    	else
                    		tmp = t_1;
                    	end
                    	return tmp
                    end
                    
                    code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -3.7], t$95$1, If[LessEqual[a, 3.2e-52], N[(t + N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
                    
                    \begin{array}{l}
                    
                    \\
                    \begin{array}{l}
                    t_1 := \mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\
                    \mathbf{if}\;a \leq -3.7:\\
                    \;\;\;\;t\_1\\
                    
                    \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\
                    \;\;\;\;t + y \cdot \frac{x - t}{z}\\
                    
                    \mathbf{else}:\\
                    \;\;\;\;t\_1\\
                    
                    
                    \end{array}
                    \end{array}
                    
                    Derivation
                    1. Split input into 2 regimes
                    2. if a < -3.7000000000000002 or 3.2000000000000001e-52 < a

                      1. Initial program 63.8%

                        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                      2. Add Preprocessing
                      3. Taylor expanded in a around inf

                        \[\leadsto \color{blue}{x + \frac{\left(t - x\right) \cdot \left(y - z\right)}{a}} \]
                      4. Step-by-step derivation
                        1. +-commutativeN/A

                          \[\leadsto \color{blue}{\frac{\left(t - x\right) \cdot \left(y - z\right)}{a} + x} \]
                        2. *-commutativeN/A

                          \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot \left(t - x\right)}}{a} + x \]
                        3. associate-/l*N/A

                          \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{t - x}{a}} + x \]
                        4. accelerator-lowering-fma.f64N/A

                          \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)} \]
                        5. --lowering--.f64N/A

                          \[\leadsto \mathsf{fma}\left(\color{blue}{y - z}, \frac{t - x}{a}, x\right) \]
                        6. /-lowering-/.f64N/A

                          \[\leadsto \mathsf{fma}\left(y - z, \color{blue}{\frac{t - x}{a}}, x\right) \]
                        7. --lowering--.f6472.4

                          \[\leadsto \mathsf{fma}\left(y - z, \frac{\color{blue}{t - x}}{a}, x\right) \]
                      5. Simplified72.4%

                        \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)} \]

                      if -3.7000000000000002 < a < 3.2000000000000001e-52

                      1. Initial program 68.7%

                        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                      2. Add Preprocessing
                      3. Step-by-step derivation
                        1. +-commutativeN/A

                          \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                        2. *-commutativeN/A

                          \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                        3. associate-/l*N/A

                          \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                        4. accelerator-lowering-fma.f64N/A

                          \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                        5. --lowering--.f64N/A

                          \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                        6. /-lowering-/.f64N/A

                          \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                        7. --lowering--.f64N/A

                          \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                        8. --lowering--.f6476.2

                          \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                      4. Applied egg-rr76.2%

                        \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                      5. Taylor expanded in z around inf

                        \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                      6. Step-by-step derivation
                        1. associate--l+N/A

                          \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                        2. distribute-lft-out--N/A

                          \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                        3. div-subN/A

                          \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                        4. mul-1-negN/A

                          \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                        5. unsub-negN/A

                          \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                        6. --lowering--.f64N/A

                          \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                        7. div-subN/A

                          \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                        8. associate-/l*N/A

                          \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                        9. associate-/l*N/A

                          \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                        10. distribute-rgt-out--N/A

                          \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                        11. *-lowering-*.f64N/A

                          \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                        12. /-lowering-/.f64N/A

                          \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                        13. --lowering--.f64N/A

                          \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                        14. --lowering--.f6481.6

                          \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                      7. Simplified81.6%

                        \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                      8. Taylor expanded in y around inf

                        \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{y} \]
                      9. Step-by-step derivation
                        1. Simplified77.6%

                          \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{y} \]
                      10. Recombined 2 regimes into one program.
                      11. Final simplification75.0%

                        \[\leadsto \begin{array}{l} \mathbf{if}\;a \leq -3.7:\\ \;\;\;\;\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\ \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\ \;\;\;\;t + y \cdot \frac{x - t}{z}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(y - z, \frac{t - x}{a}, x\right)\\ \end{array} \]
                      12. Add Preprocessing

                      Alternative 10: 37.0% accurate, 0.8× speedup?

                      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -2.4 \cdot 10^{+52}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -1.16 \cdot 10^{-127}:\\ \;\;\;\;\frac{\mathsf{fma}\left(y, x, 0\right)}{z}\\ \mathbf{elif}\;z \leq 6.6 \cdot 10^{-239}:\\ \;\;\;\;t \cdot \frac{y}{a}\\ \mathbf{elif}\;z \leq 1.7 \cdot 10^{-19}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
                      (FPCore (x y z t a)
                       :precision binary64
                       (if (<= z -2.4e+52)
                         t
                         (if (<= z -1.16e-127)
                           (/ (fma y x 0.0) z)
                           (if (<= z 6.6e-239) (* t (/ y a)) (if (<= z 1.7e-19) x t)))))
                      double code(double x, double y, double z, double t, double a) {
                      	double tmp;
                      	if (z <= -2.4e+52) {
                      		tmp = t;
                      	} else if (z <= -1.16e-127) {
                      		tmp = fma(y, x, 0.0) / z;
                      	} else if (z <= 6.6e-239) {
                      		tmp = t * (y / a);
                      	} else if (z <= 1.7e-19) {
                      		tmp = x;
                      	} else {
                      		tmp = t;
                      	}
                      	return tmp;
                      }
                      
                      function code(x, y, z, t, a)
                      	tmp = 0.0
                      	if (z <= -2.4e+52)
                      		tmp = t;
                      	elseif (z <= -1.16e-127)
                      		tmp = Float64(fma(y, x, 0.0) / z);
                      	elseif (z <= 6.6e-239)
                      		tmp = Float64(t * Float64(y / a));
                      	elseif (z <= 1.7e-19)
                      		tmp = x;
                      	else
                      		tmp = t;
                      	end
                      	return tmp
                      end
                      
                      code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.4e+52], t, If[LessEqual[z, -1.16e-127], N[(N[(y * x + 0.0), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[z, 6.6e-239], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.7e-19], x, t]]]]
                      
                      \begin{array}{l}
                      
                      \\
                      \begin{array}{l}
                      \mathbf{if}\;z \leq -2.4 \cdot 10^{+52}:\\
                      \;\;\;\;t\\
                      
                      \mathbf{elif}\;z \leq -1.16 \cdot 10^{-127}:\\
                      \;\;\;\;\frac{\mathsf{fma}\left(y, x, 0\right)}{z}\\
                      
                      \mathbf{elif}\;z \leq 6.6 \cdot 10^{-239}:\\
                      \;\;\;\;t \cdot \frac{y}{a}\\
                      
                      \mathbf{elif}\;z \leq 1.7 \cdot 10^{-19}:\\
                      \;\;\;\;x\\
                      
                      \mathbf{else}:\\
                      \;\;\;\;t\\
                      
                      
                      \end{array}
                      \end{array}
                      
                      Derivation
                      1. Split input into 4 regimes
                      2. if z < -2.4e52 or 1.7000000000000001e-19 < z

                        1. Initial program 42.5%

                          \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                        2. Add Preprocessing
                        3. Taylor expanded in z around inf

                          \[\leadsto \color{blue}{t} \]
                        4. Step-by-step derivation
                          1. Simplified45.0%

                            \[\leadsto \color{blue}{t} \]

                          if -2.4e52 < z < -1.16e-127

                          1. Initial program 80.5%

                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                          2. Add Preprocessing
                          3. Taylor expanded in x around inf

                            \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
                          4. Step-by-step derivation
                            1. +-commutativeN/A

                              \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
                            2. distribute-rgt-inN/A

                              \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
                            3. mul-1-negN/A

                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
                            4. distribute-lft-neg-outN/A

                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
                            5. *-commutativeN/A

                              \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
                            6. associate-/l*N/A

                              \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
                            7. *-commutativeN/A

                              \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
                            8. associate-/l*N/A

                              \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
                            9. distribute-lft-neg-inN/A

                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
                            10. mul-1-negN/A

                              \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
                            11. *-lft-identityN/A

                              \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
                            12. accelerator-lowering-fma.f64N/A

                              \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
                            13. mul-1-negN/A

                              \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
                            14. sub-negN/A

                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
                            15. +-commutativeN/A

                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
                            16. distribute-neg-inN/A

                              \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
                            17. unsub-negN/A

                              \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
                            18. remove-double-negN/A

                              \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
                            19. --lowering--.f64N/A

                              \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
                            20. /-lowering-/.f64N/A

                              \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
                            21. --lowering--.f6452.3

                              \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
                          5. Simplified52.3%

                            \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
                          6. Taylor expanded in a around 0

                            \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-1 \cdot z}}, x\right) \]
                          7. Step-by-step derivation
                            1. mul-1-negN/A

                              \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{\mathsf{neg}\left(z\right)}}, x\right) \]
                            2. neg-lowering-neg.f6428.8

                              \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-z}}, x\right) \]
                          8. Simplified28.8%

                            \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-z}}, x\right) \]
                          9. Taylor expanded in z around 0

                            \[\leadsto \color{blue}{\frac{x \cdot y + z \cdot \left(x + -1 \cdot x\right)}{z}} \]
                          10. Step-by-step derivation
                            1. /-lowering-/.f64N/A

                              \[\leadsto \color{blue}{\frac{x \cdot y + z \cdot \left(x + -1 \cdot x\right)}{z}} \]
                            2. *-commutativeN/A

                              \[\leadsto \frac{\color{blue}{y \cdot x} + z \cdot \left(x + -1 \cdot x\right)}{z} \]
                            3. distribute-rgt1-inN/A

                              \[\leadsto \frac{y \cdot x + z \cdot \color{blue}{\left(\left(-1 + 1\right) \cdot x\right)}}{z} \]
                            4. metadata-evalN/A

                              \[\leadsto \frac{y \cdot x + z \cdot \left(\color{blue}{0} \cdot x\right)}{z} \]
                            5. mul0-lftN/A

                              \[\leadsto \frac{y \cdot x + z \cdot \color{blue}{0}}{z} \]
                            6. mul0-rgtN/A

                              \[\leadsto \frac{y \cdot x + \color{blue}{0}}{z} \]
                            7. accelerator-lowering-fma.f6432.7

                              \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(y, x, 0\right)}}{z} \]
                          11. Simplified32.7%

                            \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(y, x, 0\right)}{z}} \]

                          if -1.16e-127 < z < 6.5999999999999999e-239

                          1. Initial program 88.3%

                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                          2. Add Preprocessing
                          3. Taylor expanded in x around 0

                            \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                          4. Step-by-step derivation
                            1. /-lowering-/.f64N/A

                              \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                            2. *-lowering-*.f64N/A

                              \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
                            3. --lowering--.f64N/A

                              \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
                            4. --lowering--.f6445.8

                              \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
                          5. Simplified45.8%

                            \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                          6. Taylor expanded in a around inf

                            \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
                          7. Step-by-step derivation
                            1. /-lowering-/.f64N/A

                              \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
                            2. *-commutativeN/A

                              \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
                            3. *-lowering-*.f64N/A

                              \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
                            4. --lowering--.f6437.7

                              \[\leadsto \frac{\color{blue}{\left(y - z\right)} \cdot t}{a} \]
                          8. Simplified37.7%

                            \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot t}{a}} \]
                          9. Step-by-step derivation
                            1. *-commutativeN/A

                              \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a} \]
                            2. associate-/l*N/A

                              \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                            3. *-lowering-*.f64N/A

                              \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                            4. /-lowering-/.f64N/A

                              \[\leadsto t \cdot \color{blue}{\frac{y - z}{a}} \]
                            5. --lowering--.f6449.1

                              \[\leadsto t \cdot \frac{\color{blue}{y - z}}{a} \]
                          10. Applied egg-rr49.1%

                            \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                          11. Taylor expanded in y around inf

                            \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
                          12. Step-by-step derivation
                            1. /-lowering-/.f6447.0

                              \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
                          13. Simplified47.0%

                            \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]

                          if 6.5999999999999999e-239 < z < 1.7000000000000001e-19

                          1. Initial program 97.8%

                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                          2. Add Preprocessing
                          3. Taylor expanded in a around inf

                            \[\leadsto \color{blue}{x} \]
                          4. Step-by-step derivation
                            1. Simplified52.7%

                              \[\leadsto \color{blue}{x} \]
                          5. Recombined 4 regimes into one program.
                          6. Add Preprocessing

                          Alternative 11: 37.1% accurate, 0.8× speedup?

                          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -8 \cdot 10^{+51}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -3.8 \cdot 10^{-97}:\\ \;\;\;\;x \cdot \frac{y}{z}\\ \mathbf{elif}\;z \leq 7.5 \cdot 10^{-234}:\\ \;\;\;\;t \cdot \frac{y}{a}\\ \mathbf{elif}\;z \leq 1.66 \cdot 10^{-19}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
                          (FPCore (x y z t a)
                           :precision binary64
                           (if (<= z -8e+51)
                             t
                             (if (<= z -3.8e-97)
                               (* x (/ y z))
                               (if (<= z 7.5e-234) (* t (/ y a)) (if (<= z 1.66e-19) x t)))))
                          double code(double x, double y, double z, double t, double a) {
                          	double tmp;
                          	if (z <= -8e+51) {
                          		tmp = t;
                          	} else if (z <= -3.8e-97) {
                          		tmp = x * (y / z);
                          	} else if (z <= 7.5e-234) {
                          		tmp = t * (y / a);
                          	} else if (z <= 1.66e-19) {
                          		tmp = x;
                          	} else {
                          		tmp = t;
                          	}
                          	return tmp;
                          }
                          
                          real(8) function code(x, y, z, t, a)
                              real(8), intent (in) :: x
                              real(8), intent (in) :: y
                              real(8), intent (in) :: z
                              real(8), intent (in) :: t
                              real(8), intent (in) :: a
                              real(8) :: tmp
                              if (z <= (-8d+51)) then
                                  tmp = t
                              else if (z <= (-3.8d-97)) then
                                  tmp = x * (y / z)
                              else if (z <= 7.5d-234) then
                                  tmp = t * (y / a)
                              else if (z <= 1.66d-19) then
                                  tmp = x
                              else
                                  tmp = t
                              end if
                              code = tmp
                          end function
                          
                          public static double code(double x, double y, double z, double t, double a) {
                          	double tmp;
                          	if (z <= -8e+51) {
                          		tmp = t;
                          	} else if (z <= -3.8e-97) {
                          		tmp = x * (y / z);
                          	} else if (z <= 7.5e-234) {
                          		tmp = t * (y / a);
                          	} else if (z <= 1.66e-19) {
                          		tmp = x;
                          	} else {
                          		tmp = t;
                          	}
                          	return tmp;
                          }
                          
                          def code(x, y, z, t, a):
                          	tmp = 0
                          	if z <= -8e+51:
                          		tmp = t
                          	elif z <= -3.8e-97:
                          		tmp = x * (y / z)
                          	elif z <= 7.5e-234:
                          		tmp = t * (y / a)
                          	elif z <= 1.66e-19:
                          		tmp = x
                          	else:
                          		tmp = t
                          	return tmp
                          
                          function code(x, y, z, t, a)
                          	tmp = 0.0
                          	if (z <= -8e+51)
                          		tmp = t;
                          	elseif (z <= -3.8e-97)
                          		tmp = Float64(x * Float64(y / z));
                          	elseif (z <= 7.5e-234)
                          		tmp = Float64(t * Float64(y / a));
                          	elseif (z <= 1.66e-19)
                          		tmp = x;
                          	else
                          		tmp = t;
                          	end
                          	return tmp
                          end
                          
                          function tmp_2 = code(x, y, z, t, a)
                          	tmp = 0.0;
                          	if (z <= -8e+51)
                          		tmp = t;
                          	elseif (z <= -3.8e-97)
                          		tmp = x * (y / z);
                          	elseif (z <= 7.5e-234)
                          		tmp = t * (y / a);
                          	elseif (z <= 1.66e-19)
                          		tmp = x;
                          	else
                          		tmp = t;
                          	end
                          	tmp_2 = tmp;
                          end
                          
                          code[x_, y_, z_, t_, a_] := If[LessEqual[z, -8e+51], t, If[LessEqual[z, -3.8e-97], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 7.5e-234], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.66e-19], x, t]]]]
                          
                          \begin{array}{l}
                          
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;z \leq -8 \cdot 10^{+51}:\\
                          \;\;\;\;t\\
                          
                          \mathbf{elif}\;z \leq -3.8 \cdot 10^{-97}:\\
                          \;\;\;\;x \cdot \frac{y}{z}\\
                          
                          \mathbf{elif}\;z \leq 7.5 \cdot 10^{-234}:\\
                          \;\;\;\;t \cdot \frac{y}{a}\\
                          
                          \mathbf{elif}\;z \leq 1.66 \cdot 10^{-19}:\\
                          \;\;\;\;x\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;t\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 4 regimes
                          2. if z < -8e51 or 1.65999999999999998e-19 < z

                            1. Initial program 42.5%

                              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                            2. Add Preprocessing
                            3. Taylor expanded in z around inf

                              \[\leadsto \color{blue}{t} \]
                            4. Step-by-step derivation
                              1. Simplified45.0%

                                \[\leadsto \color{blue}{t} \]

                              if -8e51 < z < -3.8000000000000001e-97

                              1. Initial program 83.4%

                                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                              2. Add Preprocessing
                              3. Taylor expanded in x around inf

                                \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
                              4. Step-by-step derivation
                                1. +-commutativeN/A

                                  \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
                                2. distribute-rgt-inN/A

                                  \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
                                3. mul-1-negN/A

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
                                4. distribute-lft-neg-outN/A

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
                                5. *-commutativeN/A

                                  \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
                                6. associate-/l*N/A

                                  \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
                                7. *-commutativeN/A

                                  \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
                                8. associate-/l*N/A

                                  \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
                                9. distribute-lft-neg-inN/A

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
                                10. mul-1-negN/A

                                  \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
                                11. *-lft-identityN/A

                                  \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
                                12. accelerator-lowering-fma.f64N/A

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
                                13. mul-1-negN/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
                                14. sub-negN/A

                                  \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
                                15. +-commutativeN/A

                                  \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
                                16. distribute-neg-inN/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
                                17. unsub-negN/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
                                18. remove-double-negN/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
                                19. --lowering--.f64N/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
                                20. /-lowering-/.f64N/A

                                  \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
                                21. --lowering--.f6452.5

                                  \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
                              5. Simplified52.5%

                                \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
                              6. Taylor expanded in a around 0

                                \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-1 \cdot z}}, x\right) \]
                              7. Step-by-step derivation
                                1. mul-1-negN/A

                                  \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{\mathsf{neg}\left(z\right)}}, x\right) \]
                                2. neg-lowering-neg.f6430.7

                                  \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-z}}, x\right) \]
                              8. Simplified30.7%

                                \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{-z}}, x\right) \]
                              9. Taylor expanded in z around 0

                                \[\leadsto \color{blue}{\frac{x \cdot y}{z}} \]
                              10. Step-by-step derivation
                                1. associate-/l*N/A

                                  \[\leadsto \color{blue}{x \cdot \frac{y}{z}} \]
                                2. *-commutativeN/A

                                  \[\leadsto \color{blue}{\frac{y}{z} \cdot x} \]
                                3. *-lowering-*.f64N/A

                                  \[\leadsto \color{blue}{\frac{y}{z} \cdot x} \]
                                4. /-lowering-/.f6432.4

                                  \[\leadsto \color{blue}{\frac{y}{z}} \cdot x \]
                              11. Simplified32.4%

                                \[\leadsto \color{blue}{\frac{y}{z} \cdot x} \]

                              if -3.8000000000000001e-97 < z < 7.49999999999999996e-234

                              1. Initial program 86.1%

                                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                              2. Add Preprocessing
                              3. Taylor expanded in x around 0

                                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                              4. Step-by-step derivation
                                1. /-lowering-/.f64N/A

                                  \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                                2. *-lowering-*.f64N/A

                                  \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
                                3. --lowering--.f64N/A

                                  \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
                                4. --lowering--.f6444.7

                                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
                              5. Simplified44.7%

                                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                              6. Taylor expanded in a around inf

                                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
                              7. Step-by-step derivation
                                1. /-lowering-/.f64N/A

                                  \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
                                2. *-commutativeN/A

                                  \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
                                3. *-lowering-*.f64N/A

                                  \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
                                4. --lowering--.f6435.8

                                  \[\leadsto \frac{\color{blue}{\left(y - z\right)} \cdot t}{a} \]
                              8. Simplified35.8%

                                \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot t}{a}} \]
                              9. Step-by-step derivation
                                1. *-commutativeN/A

                                  \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a} \]
                                2. associate-/l*N/A

                                  \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                                3. *-lowering-*.f64N/A

                                  \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                                4. /-lowering-/.f64N/A

                                  \[\leadsto t \cdot \color{blue}{\frac{y - z}{a}} \]
                                5. --lowering--.f6445.9

                                  \[\leadsto t \cdot \frac{\color{blue}{y - z}}{a} \]
                              10. Applied egg-rr45.9%

                                \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                              11. Taylor expanded in y around inf

                                \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
                              12. Step-by-step derivation
                                1. /-lowering-/.f6444.1

                                  \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
                              13. Simplified44.1%

                                \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]

                              if 7.49999999999999996e-234 < z < 1.65999999999999998e-19

                              1. Initial program 97.8%

                                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                              2. Add Preprocessing
                              3. Taylor expanded in a around inf

                                \[\leadsto \color{blue}{x} \]
                              4. Step-by-step derivation
                                1. Simplified52.7%

                                  \[\leadsto \color{blue}{x} \]
                              5. Recombined 4 regimes into one program.
                              6. Final simplification44.8%

                                \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -8 \cdot 10^{+51}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq -3.8 \cdot 10^{-97}:\\ \;\;\;\;x \cdot \frac{y}{z}\\ \mathbf{elif}\;z \leq 7.5 \cdot 10^{-234}:\\ \;\;\;\;t \cdot \frac{y}{a}\\ \mathbf{elif}\;z \leq 1.66 \cdot 10^{-19}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \]
                              7. Add Preprocessing

                              Alternative 12: 68.0% accurate, 0.8× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \mathsf{fma}\left(\frac{t}{a}, y - z, x\right)\\ \mathbf{if}\;a \leq -2400:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\ \;\;\;\;t + y \cdot \frac{x - t}{z}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                              (FPCore (x y z t a)
                               :precision binary64
                               (let* ((t_1 (fma (/ t a) (- y z) x)))
                                 (if (<= a -2400.0) t_1 (if (<= a 3.2e-52) (+ t (* y (/ (- x t) z))) t_1))))
                              double code(double x, double y, double z, double t, double a) {
                              	double t_1 = fma((t / a), (y - z), x);
                              	double tmp;
                              	if (a <= -2400.0) {
                              		tmp = t_1;
                              	} else if (a <= 3.2e-52) {
                              		tmp = t + (y * ((x - t) / z));
                              	} else {
                              		tmp = t_1;
                              	}
                              	return tmp;
                              }
                              
                              function code(x, y, z, t, a)
                              	t_1 = fma(Float64(t / a), Float64(y - z), x)
                              	tmp = 0.0
                              	if (a <= -2400.0)
                              		tmp = t_1;
                              	elseif (a <= 3.2e-52)
                              		tmp = Float64(t + Float64(y * Float64(Float64(x - t) / z)));
                              	else
                              		tmp = t_1;
                              	end
                              	return tmp
                              end
                              
                              code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(t / a), $MachinePrecision] * N[(y - z), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -2400.0], t$95$1, If[LessEqual[a, 3.2e-52], N[(t + N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              t_1 := \mathsf{fma}\left(\frac{t}{a}, y - z, x\right)\\
                              \mathbf{if}\;a \leq -2400:\\
                              \;\;\;\;t\_1\\
                              
                              \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\
                              \;\;\;\;t + y \cdot \frac{x - t}{z}\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;t\_1\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if a < -2400 or 3.2000000000000001e-52 < a

                                1. Initial program 63.8%

                                  \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                2. Add Preprocessing
                                3. Step-by-step derivation
                                  1. +-commutativeN/A

                                    \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                  2. associate-/l*N/A

                                    \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{t - x}{a - z}} + x \]
                                  3. *-commutativeN/A

                                    \[\leadsto \color{blue}{\frac{t - x}{a - z} \cdot \left(y - z\right)} + x \]
                                  4. accelerator-lowering-fma.f64N/A

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{t - x}{a - z}, y - z, x\right)} \]
                                  5. /-lowering-/.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{t - x}{a - z}}, y - z, x\right) \]
                                  6. --lowering--.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t - x}}{a - z}, y - z, x\right) \]
                                  7. --lowering--.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a - z}}, y - z, x\right) \]
                                  8. --lowering--.f6486.7

                                    \[\leadsto \mathsf{fma}\left(\frac{t - x}{a - z}, \color{blue}{y - z}, x\right) \]
                                4. Applied egg-rr86.7%

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{t - x}{a - z}, y - z, x\right)} \]
                                5. Taylor expanded in a around inf

                                  \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a}}, y - z, x\right) \]
                                6. Step-by-step derivation
                                  1. Simplified72.4%

                                    \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a}}, y - z, x\right) \]
                                  2. Taylor expanded in t around inf

                                    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t}}{a}, y - z, x\right) \]
                                  3. Step-by-step derivation
                                    1. Simplified65.1%

                                      \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t}}{a}, y - z, x\right) \]

                                    if -2400 < a < 3.2000000000000001e-52

                                    1. Initial program 68.7%

                                      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                    2. Add Preprocessing
                                    3. Step-by-step derivation
                                      1. +-commutativeN/A

                                        \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                      2. *-commutativeN/A

                                        \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                      3. associate-/l*N/A

                                        \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                      4. accelerator-lowering-fma.f64N/A

                                        \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                      5. --lowering--.f64N/A

                                        \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                      6. /-lowering-/.f64N/A

                                        \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                      7. --lowering--.f64N/A

                                        \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                      8. --lowering--.f6476.2

                                        \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                    4. Applied egg-rr76.2%

                                      \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                    5. Taylor expanded in z around inf

                                      \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                    6. Step-by-step derivation
                                      1. associate--l+N/A

                                        \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                      2. distribute-lft-out--N/A

                                        \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                      3. div-subN/A

                                        \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                      4. mul-1-negN/A

                                        \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                      5. unsub-negN/A

                                        \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                      6. --lowering--.f64N/A

                                        \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                      7. div-subN/A

                                        \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                      8. associate-/l*N/A

                                        \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                                      9. associate-/l*N/A

                                        \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                                      10. distribute-rgt-out--N/A

                                        \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                      11. *-lowering-*.f64N/A

                                        \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                      12. /-lowering-/.f64N/A

                                        \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                                      13. --lowering--.f64N/A

                                        \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                                      14. --lowering--.f6481.6

                                        \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                                    7. Simplified81.6%

                                      \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                                    8. Taylor expanded in y around inf

                                      \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{y} \]
                                    9. Step-by-step derivation
                                      1. Simplified77.6%

                                        \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{y} \]
                                    10. Recombined 2 regimes into one program.
                                    11. Final simplification71.4%

                                      \[\leadsto \begin{array}{l} \mathbf{if}\;a \leq -2400:\\ \;\;\;\;\mathsf{fma}\left(\frac{t}{a}, y - z, x\right)\\ \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\ \;\;\;\;t + y \cdot \frac{x - t}{z}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{t}{a}, y - z, x\right)\\ \end{array} \]
                                    12. Add Preprocessing

                                    Alternative 13: 69.3% accurate, 0.9× speedup?

                                    \[\begin{array}{l} \\ \begin{array}{l} t_1 := \mathsf{fma}\left(\frac{t}{a}, y - z, x\right)\\ \mathbf{if}\;a \leq -920:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\ \;\;\;\;\mathsf{fma}\left(x - t, \frac{y}{z}, t\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                    (FPCore (x y z t a)
                                     :precision binary64
                                     (let* ((t_1 (fma (/ t a) (- y z) x)))
                                       (if (<= a -920.0) t_1 (if (<= a 3.2e-52) (fma (- x t) (/ y z) t) t_1))))
                                    double code(double x, double y, double z, double t, double a) {
                                    	double t_1 = fma((t / a), (y - z), x);
                                    	double tmp;
                                    	if (a <= -920.0) {
                                    		tmp = t_1;
                                    	} else if (a <= 3.2e-52) {
                                    		tmp = fma((x - t), (y / z), t);
                                    	} else {
                                    		tmp = t_1;
                                    	}
                                    	return tmp;
                                    }
                                    
                                    function code(x, y, z, t, a)
                                    	t_1 = fma(Float64(t / a), Float64(y - z), x)
                                    	tmp = 0.0
                                    	if (a <= -920.0)
                                    		tmp = t_1;
                                    	elseif (a <= 3.2e-52)
                                    		tmp = fma(Float64(x - t), Float64(y / z), t);
                                    	else
                                    		tmp = t_1;
                                    	end
                                    	return tmp
                                    end
                                    
                                    code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(t / a), $MachinePrecision] * N[(y - z), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -920.0], t$95$1, If[LessEqual[a, 3.2e-52], N[(N[(x - t), $MachinePrecision] * N[(y / z), $MachinePrecision] + t), $MachinePrecision], t$95$1]]]
                                    
                                    \begin{array}{l}
                                    
                                    \\
                                    \begin{array}{l}
                                    t_1 := \mathsf{fma}\left(\frac{t}{a}, y - z, x\right)\\
                                    \mathbf{if}\;a \leq -920:\\
                                    \;\;\;\;t\_1\\
                                    
                                    \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\
                                    \;\;\;\;\mathsf{fma}\left(x - t, \frac{y}{z}, t\right)\\
                                    
                                    \mathbf{else}:\\
                                    \;\;\;\;t\_1\\
                                    
                                    
                                    \end{array}
                                    \end{array}
                                    
                                    Derivation
                                    1. Split input into 2 regimes
                                    2. if a < -920 or 3.2000000000000001e-52 < a

                                      1. Initial program 63.8%

                                        \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                      2. Add Preprocessing
                                      3. Step-by-step derivation
                                        1. +-commutativeN/A

                                          \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                        2. associate-/l*N/A

                                          \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{t - x}{a - z}} + x \]
                                        3. *-commutativeN/A

                                          \[\leadsto \color{blue}{\frac{t - x}{a - z} \cdot \left(y - z\right)} + x \]
                                        4. accelerator-lowering-fma.f64N/A

                                          \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{t - x}{a - z}, y - z, x\right)} \]
                                        5. /-lowering-/.f64N/A

                                          \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{t - x}{a - z}}, y - z, x\right) \]
                                        6. --lowering--.f64N/A

                                          \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t - x}}{a - z}, y - z, x\right) \]
                                        7. --lowering--.f64N/A

                                          \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a - z}}, y - z, x\right) \]
                                        8. --lowering--.f6486.7

                                          \[\leadsto \mathsf{fma}\left(\frac{t - x}{a - z}, \color{blue}{y - z}, x\right) \]
                                      4. Applied egg-rr86.7%

                                        \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{t - x}{a - z}, y - z, x\right)} \]
                                      5. Taylor expanded in a around inf

                                        \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a}}, y - z, x\right) \]
                                      6. Step-by-step derivation
                                        1. Simplified72.4%

                                          \[\leadsto \mathsf{fma}\left(\frac{t - x}{\color{blue}{a}}, y - z, x\right) \]
                                        2. Taylor expanded in t around inf

                                          \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t}}{a}, y - z, x\right) \]
                                        3. Step-by-step derivation
                                          1. Simplified65.1%

                                            \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{t}}{a}, y - z, x\right) \]

                                          if -920 < a < 3.2000000000000001e-52

                                          1. Initial program 68.7%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                            2. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                            3. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                            4. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                            5. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                            6. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                            7. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                            8. --lowering--.f6476.2

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                          4. Applied egg-rr76.2%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                          5. Taylor expanded in z around inf

                                            \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                          6. Step-by-step derivation
                                            1. associate--l+N/A

                                              \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            2. distribute-lft-out--N/A

                                              \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            3. div-subN/A

                                              \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            4. mul-1-negN/A

                                              \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            5. unsub-negN/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            6. --lowering--.f64N/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            7. div-subN/A

                                              \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            8. associate-/l*N/A

                                              \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                                            9. associate-/l*N/A

                                              \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                                            10. distribute-rgt-out--N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            11. *-lowering-*.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            12. /-lowering-/.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                                            13. --lowering--.f64N/A

                                              \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                                            14. --lowering--.f6481.6

                                              \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                                          7. Simplified81.6%

                                            \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                                          8. Taylor expanded in a around 0

                                            \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right)}{z}} \]
                                          9. Step-by-step derivation
                                            1. sub-negN/A

                                              \[\leadsto \color{blue}{t + \left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            2. +-commutativeN/A

                                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right)}{z}\right)\right) + t} \]
                                            3. *-commutativeN/A

                                              \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(t - x\right) \cdot y}}{z}\right)\right) + t \]
                                            4. associate-/l*N/A

                                              \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(t - x\right) \cdot \frac{y}{z}}\right)\right) + t \]
                                            5. distribute-lft-neg-inN/A

                                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(t - x\right)\right)\right) \cdot \frac{y}{z}} + t \]
                                            6. neg-mul-1N/A

                                              \[\leadsto \color{blue}{\left(-1 \cdot \left(t - x\right)\right)} \cdot \frac{y}{z} + t \]
                                            7. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(t - x\right), \frac{y}{z}, t\right)} \]
                                            8. neg-mul-1N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(t - x\right)\right)}, \frac{y}{z}, t\right) \]
                                            9. sub-negN/A

                                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(t + \left(\mathsf{neg}\left(x\right)\right)\right)}\right), \frac{y}{z}, t\right) \]
                                            10. mul-1-negN/A

                                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\left(t + \color{blue}{-1 \cdot x}\right)\right), \frac{y}{z}, t\right) \]
                                            11. +-commutativeN/A

                                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(-1 \cdot x + t\right)}\right), \frac{y}{z}, t\right) \]
                                            12. distribute-neg-inN/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(-1 \cdot x\right)\right) + \left(\mathsf{neg}\left(t\right)\right)}, \frac{y}{z}, t\right) \]
                                            13. mul-1-negN/A

                                              \[\leadsto \mathsf{fma}\left(\left(\mathsf{neg}\left(\color{blue}{\left(\mathsf{neg}\left(x\right)\right)}\right)\right) + \left(\mathsf{neg}\left(t\right)\right), \frac{y}{z}, t\right) \]
                                            14. remove-double-negN/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{x} + \left(\mathsf{neg}\left(t\right)\right), \frac{y}{z}, t\right) \]
                                            15. sub-negN/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{x - t}, \frac{y}{z}, t\right) \]
                                            16. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{x - t}, \frac{y}{z}, t\right) \]
                                            17. /-lowering-/.f6476.2

                                              \[\leadsto \mathsf{fma}\left(x - t, \color{blue}{\frac{y}{z}}, t\right) \]
                                          10. Simplified76.2%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(x - t, \frac{y}{z}, t\right)} \]
                                        4. Recombined 2 regimes into one program.
                                        5. Add Preprocessing

                                        Alternative 14: 69.9% accurate, 0.9× speedup?

                                        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;a \leq -330:\\ \;\;\;\;\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)\\ \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\ \;\;\;\;\mathsf{fma}\left(x - t, \frac{y}{z}, t\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(t - x, \frac{y}{a}, x\right)\\ \end{array} \end{array} \]
                                        (FPCore (x y z t a)
                                         :precision binary64
                                         (if (<= a -330.0)
                                           (fma y (/ (- t x) a) x)
                                           (if (<= a 3.2e-52) (fma (- x t) (/ y z) t) (fma (- t x) (/ y a) x))))
                                        double code(double x, double y, double z, double t, double a) {
                                        	double tmp;
                                        	if (a <= -330.0) {
                                        		tmp = fma(y, ((t - x) / a), x);
                                        	} else if (a <= 3.2e-52) {
                                        		tmp = fma((x - t), (y / z), t);
                                        	} else {
                                        		tmp = fma((t - x), (y / a), x);
                                        	}
                                        	return tmp;
                                        }
                                        
                                        function code(x, y, z, t, a)
                                        	tmp = 0.0
                                        	if (a <= -330.0)
                                        		tmp = fma(y, Float64(Float64(t - x) / a), x);
                                        	elseif (a <= 3.2e-52)
                                        		tmp = fma(Float64(x - t), Float64(y / z), t);
                                        	else
                                        		tmp = fma(Float64(t - x), Float64(y / a), x);
                                        	end
                                        	return tmp
                                        end
                                        
                                        code[x_, y_, z_, t_, a_] := If[LessEqual[a, -330.0], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[a, 3.2e-52], N[(N[(x - t), $MachinePrecision] * N[(y / z), $MachinePrecision] + t), $MachinePrecision], N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision] + x), $MachinePrecision]]]
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        \begin{array}{l}
                                        \mathbf{if}\;a \leq -330:\\
                                        \;\;\;\;\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)\\
                                        
                                        \mathbf{elif}\;a \leq 3.2 \cdot 10^{-52}:\\
                                        \;\;\;\;\mathsf{fma}\left(x - t, \frac{y}{z}, t\right)\\
                                        
                                        \mathbf{else}:\\
                                        \;\;\;\;\mathsf{fma}\left(t - x, \frac{y}{a}, x\right)\\
                                        
                                        
                                        \end{array}
                                        \end{array}
                                        
                                        Derivation
                                        1. Split input into 3 regimes
                                        2. if a < -330

                                          1. Initial program 65.8%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Taylor expanded in z around 0

                                            \[\leadsto \color{blue}{x + \frac{y \cdot \left(t - x\right)}{a}} \]
                                          4. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{y \cdot \left(t - x\right)}{a} + x} \]
                                            2. associate-/l*N/A

                                              \[\leadsto \color{blue}{y \cdot \frac{t - x}{a}} + x \]
                                            3. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)} \]
                                            4. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(y, \color{blue}{\frac{t - x}{a}}, x\right) \]
                                            5. --lowering--.f6466.5

                                              \[\leadsto \mathsf{fma}\left(y, \frac{\color{blue}{t - x}}{a}, x\right) \]
                                          5. Simplified66.5%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)} \]

                                          if -330 < a < 3.2000000000000001e-52

                                          1. Initial program 68.7%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                            2. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                            3. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                            4. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                            5. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                            6. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                            7. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                            8. --lowering--.f6476.2

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                          4. Applied egg-rr76.2%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                          5. Taylor expanded in z around inf

                                            \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                          6. Step-by-step derivation
                                            1. associate--l+N/A

                                              \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            2. distribute-lft-out--N/A

                                              \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            3. div-subN/A

                                              \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            4. mul-1-negN/A

                                              \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            5. unsub-negN/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            6. --lowering--.f64N/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            7. div-subN/A

                                              \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            8. associate-/l*N/A

                                              \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                                            9. associate-/l*N/A

                                              \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                                            10. distribute-rgt-out--N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            11. *-lowering-*.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            12. /-lowering-/.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                                            13. --lowering--.f64N/A

                                              \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                                            14. --lowering--.f6481.6

                                              \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                                          7. Simplified81.6%

                                            \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                                          8. Taylor expanded in a around 0

                                            \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right)}{z}} \]
                                          9. Step-by-step derivation
                                            1. sub-negN/A

                                              \[\leadsto \color{blue}{t + \left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            2. +-commutativeN/A

                                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right)}{z}\right)\right) + t} \]
                                            3. *-commutativeN/A

                                              \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(t - x\right) \cdot y}}{z}\right)\right) + t \]
                                            4. associate-/l*N/A

                                              \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(t - x\right) \cdot \frac{y}{z}}\right)\right) + t \]
                                            5. distribute-lft-neg-inN/A

                                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(t - x\right)\right)\right) \cdot \frac{y}{z}} + t \]
                                            6. neg-mul-1N/A

                                              \[\leadsto \color{blue}{\left(-1 \cdot \left(t - x\right)\right)} \cdot \frac{y}{z} + t \]
                                            7. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(t - x\right), \frac{y}{z}, t\right)} \]
                                            8. neg-mul-1N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(t - x\right)\right)}, \frac{y}{z}, t\right) \]
                                            9. sub-negN/A

                                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(t + \left(\mathsf{neg}\left(x\right)\right)\right)}\right), \frac{y}{z}, t\right) \]
                                            10. mul-1-negN/A

                                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\left(t + \color{blue}{-1 \cdot x}\right)\right), \frac{y}{z}, t\right) \]
                                            11. +-commutativeN/A

                                              \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(-1 \cdot x + t\right)}\right), \frac{y}{z}, t\right) \]
                                            12. distribute-neg-inN/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(-1 \cdot x\right)\right) + \left(\mathsf{neg}\left(t\right)\right)}, \frac{y}{z}, t\right) \]
                                            13. mul-1-negN/A

                                              \[\leadsto \mathsf{fma}\left(\left(\mathsf{neg}\left(\color{blue}{\left(\mathsf{neg}\left(x\right)\right)}\right)\right) + \left(\mathsf{neg}\left(t\right)\right), \frac{y}{z}, t\right) \]
                                            14. remove-double-negN/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{x} + \left(\mathsf{neg}\left(t\right)\right), \frac{y}{z}, t\right) \]
                                            15. sub-negN/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{x - t}, \frac{y}{z}, t\right) \]
                                            16. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{x - t}, \frac{y}{z}, t\right) \]
                                            17. /-lowering-/.f6476.2

                                              \[\leadsto \mathsf{fma}\left(x - t, \color{blue}{\frac{y}{z}}, t\right) \]
                                          10. Simplified76.2%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(x - t, \frac{y}{z}, t\right)} \]

                                          if 3.2000000000000001e-52 < a

                                          1. Initial program 61.5%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                            2. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                            3. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                            4. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                            5. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                            6. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                            7. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                            8. --lowering--.f6488.3

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                          4. Applied egg-rr88.3%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                          5. Taylor expanded in z around 0

                                            \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y}{a}}, x\right) \]
                                          6. Step-by-step derivation
                                            1. /-lowering-/.f6460.6

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y}{a}}, x\right) \]
                                          7. Simplified60.6%

                                            \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y}{a}}, x\right) \]
                                        3. Recombined 3 regimes into one program.
                                        4. Add Preprocessing

                                        Alternative 15: 63.7% accurate, 0.9× speedup?

                                        \[\begin{array}{l} \\ \begin{array}{l} t_1 := \mathsf{fma}\left(t - x, \frac{a}{z}, t\right)\\ \mathbf{if}\;z \leq -2.8 \cdot 10^{+72}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 5 \cdot 10^{+63}:\\ \;\;\;\;\mathsf{fma}\left(t - x, \frac{y}{a}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                        (FPCore (x y z t a)
                                         :precision binary64
                                         (let* ((t_1 (fma (- t x) (/ a z) t)))
                                           (if (<= z -2.8e+72) t_1 (if (<= z 5e+63) (fma (- t x) (/ y a) x) t_1))))
                                        double code(double x, double y, double z, double t, double a) {
                                        	double t_1 = fma((t - x), (a / z), t);
                                        	double tmp;
                                        	if (z <= -2.8e+72) {
                                        		tmp = t_1;
                                        	} else if (z <= 5e+63) {
                                        		tmp = fma((t - x), (y / a), x);
                                        	} else {
                                        		tmp = t_1;
                                        	}
                                        	return tmp;
                                        }
                                        
                                        function code(x, y, z, t, a)
                                        	t_1 = fma(Float64(t - x), Float64(a / z), t)
                                        	tmp = 0.0
                                        	if (z <= -2.8e+72)
                                        		tmp = t_1;
                                        	elseif (z <= 5e+63)
                                        		tmp = fma(Float64(t - x), Float64(y / a), x);
                                        	else
                                        		tmp = t_1;
                                        	end
                                        	return tmp
                                        end
                                        
                                        code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(t - x), $MachinePrecision] * N[(a / z), $MachinePrecision] + t), $MachinePrecision]}, If[LessEqual[z, -2.8e+72], t$95$1, If[LessEqual[z, 5e+63], N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        \begin{array}{l}
                                        t_1 := \mathsf{fma}\left(t - x, \frac{a}{z}, t\right)\\
                                        \mathbf{if}\;z \leq -2.8 \cdot 10^{+72}:\\
                                        \;\;\;\;t\_1\\
                                        
                                        \mathbf{elif}\;z \leq 5 \cdot 10^{+63}:\\
                                        \;\;\;\;\mathsf{fma}\left(t - x, \frac{y}{a}, x\right)\\
                                        
                                        \mathbf{else}:\\
                                        \;\;\;\;t\_1\\
                                        
                                        
                                        \end{array}
                                        \end{array}
                                        
                                        Derivation
                                        1. Split input into 2 regimes
                                        2. if z < -2.7999999999999999e72 or 5.00000000000000011e63 < z

                                          1. Initial program 33.1%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                            2. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                            3. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                            4. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                            5. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                            6. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                            7. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                            8. --lowering--.f6465.6

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                          4. Applied egg-rr65.6%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                          5. Taylor expanded in z around inf

                                            \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                          6. Step-by-step derivation
                                            1. associate--l+N/A

                                              \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            2. distribute-lft-out--N/A

                                              \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            3. div-subN/A

                                              \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            4. mul-1-negN/A

                                              \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            5. unsub-negN/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            6. --lowering--.f64N/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            7. div-subN/A

                                              \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            8. associate-/l*N/A

                                              \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                                            9. associate-/l*N/A

                                              \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                                            10. distribute-rgt-out--N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            11. *-lowering-*.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            12. /-lowering-/.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                                            13. --lowering--.f64N/A

                                              \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                                            14. --lowering--.f6482.3

                                              \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                                          7. Simplified82.3%

                                            \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                                          8. Taylor expanded in y around 0

                                            \[\leadsto \color{blue}{t - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                          9. Step-by-step derivation
                                            1. sub-negN/A

                                              \[\leadsto \color{blue}{t + \left(\mathsf{neg}\left(-1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            2. mul-1-negN/A

                                              \[\leadsto t + \left(\mathsf{neg}\left(\color{blue}{\left(\mathsf{neg}\left(\frac{a \cdot \left(t - x\right)}{z}\right)\right)}\right)\right) \]
                                            3. remove-double-negN/A

                                              \[\leadsto t + \color{blue}{\frac{a \cdot \left(t - x\right)}{z}} \]
                                            4. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{a \cdot \left(t - x\right)}{z} + t} \]
                                            5. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot a}}{z} + t \]
                                            6. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{a}{z}} + t \]
                                            7. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{a}{z}, t\right)} \]
                                            8. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{a}{z}, t\right) \]
                                            9. /-lowering-/.f6461.4

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{a}{z}}, t\right) \]
                                          10. Simplified61.4%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{a}{z}, t\right)} \]

                                          if -2.7999999999999999e72 < z < 5.00000000000000011e63

                                          1. Initial program 87.2%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                            2. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                            3. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                            4. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                            5. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                            6. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                            7. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                            8. --lowering--.f6492.4

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                          4. Applied egg-rr92.4%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                          5. Taylor expanded in z around 0

                                            \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y}{a}}, x\right) \]
                                          6. Step-by-step derivation
                                            1. /-lowering-/.f6464.9

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y}{a}}, x\right) \]
                                          7. Simplified64.9%

                                            \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y}{a}}, x\right) \]
                                        3. Recombined 2 regimes into one program.
                                        4. Add Preprocessing

                                        Alternative 16: 62.8% accurate, 0.9× speedup?

                                        \[\begin{array}{l} \\ \begin{array}{l} t_1 := \mathsf{fma}\left(t - x, \frac{a}{z}, t\right)\\ \mathbf{if}\;z \leq -2.2 \cdot 10^{+77}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 9.6 \cdot 10^{+63}:\\ \;\;\;\;\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                        (FPCore (x y z t a)
                                         :precision binary64
                                         (let* ((t_1 (fma (- t x) (/ a z) t)))
                                           (if (<= z -2.2e+77) t_1 (if (<= z 9.6e+63) (fma y (/ (- t x) a) x) t_1))))
                                        double code(double x, double y, double z, double t, double a) {
                                        	double t_1 = fma((t - x), (a / z), t);
                                        	double tmp;
                                        	if (z <= -2.2e+77) {
                                        		tmp = t_1;
                                        	} else if (z <= 9.6e+63) {
                                        		tmp = fma(y, ((t - x) / a), x);
                                        	} else {
                                        		tmp = t_1;
                                        	}
                                        	return tmp;
                                        }
                                        
                                        function code(x, y, z, t, a)
                                        	t_1 = fma(Float64(t - x), Float64(a / z), t)
                                        	tmp = 0.0
                                        	if (z <= -2.2e+77)
                                        		tmp = t_1;
                                        	elseif (z <= 9.6e+63)
                                        		tmp = fma(y, Float64(Float64(t - x) / a), x);
                                        	else
                                        		tmp = t_1;
                                        	end
                                        	return tmp
                                        end
                                        
                                        code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(t - x), $MachinePrecision] * N[(a / z), $MachinePrecision] + t), $MachinePrecision]}, If[LessEqual[z, -2.2e+77], t$95$1, If[LessEqual[z, 9.6e+63], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        \begin{array}{l}
                                        t_1 := \mathsf{fma}\left(t - x, \frac{a}{z}, t\right)\\
                                        \mathbf{if}\;z \leq -2.2 \cdot 10^{+77}:\\
                                        \;\;\;\;t\_1\\
                                        
                                        \mathbf{elif}\;z \leq 9.6 \cdot 10^{+63}:\\
                                        \;\;\;\;\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)\\
                                        
                                        \mathbf{else}:\\
                                        \;\;\;\;t\_1\\
                                        
                                        
                                        \end{array}
                                        \end{array}
                                        
                                        Derivation
                                        1. Split input into 2 regimes
                                        2. if z < -2.2e77 or 9.6e63 < z

                                          1. Initial program 33.1%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} + x} \]
                                            2. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot \left(y - z\right)}}{a - z} + x \]
                                            3. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{y - z}{a - z}} + x \]
                                            4. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                            5. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{y - z}{a - z}, x\right) \]
                                            6. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{y - z}{a - z}}, x\right) \]
                                            7. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{\color{blue}{y - z}}{a - z}, x\right) \]
                                            8. --lowering--.f6465.6

                                              \[\leadsto \mathsf{fma}\left(t - x, \frac{y - z}{\color{blue}{a - z}}, x\right) \]
                                          4. Applied egg-rr65.6%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)} \]
                                          5. Taylor expanded in z around inf

                                            \[\leadsto \color{blue}{\left(t + -1 \cdot \frac{y \cdot \left(t - x\right)}{z}\right) - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                          6. Step-by-step derivation
                                            1. associate--l+N/A

                                              \[\leadsto \color{blue}{t + \left(-1 \cdot \frac{y \cdot \left(t - x\right)}{z} - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            2. distribute-lft-out--N/A

                                              \[\leadsto t + \color{blue}{-1 \cdot \left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            3. div-subN/A

                                              \[\leadsto t + -1 \cdot \color{blue}{\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            4. mul-1-negN/A

                                              \[\leadsto t + \color{blue}{\left(\mathsf{neg}\left(\frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            5. unsub-negN/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            6. --lowering--.f64N/A

                                              \[\leadsto \color{blue}{t - \frac{y \cdot \left(t - x\right) - a \cdot \left(t - x\right)}{z}} \]
                                            7. div-subN/A

                                              \[\leadsto t - \color{blue}{\left(\frac{y \cdot \left(t - x\right)}{z} - \frac{a \cdot \left(t - x\right)}{z}\right)} \]
                                            8. associate-/l*N/A

                                              \[\leadsto t - \left(\color{blue}{y \cdot \frac{t - x}{z}} - \frac{a \cdot \left(t - x\right)}{z}\right) \]
                                            9. associate-/l*N/A

                                              \[\leadsto t - \left(y \cdot \frac{t - x}{z} - \color{blue}{a \cdot \frac{t - x}{z}}\right) \]
                                            10. distribute-rgt-out--N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            11. *-lowering-*.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z} \cdot \left(y - a\right)} \]
                                            12. /-lowering-/.f64N/A

                                              \[\leadsto t - \color{blue}{\frac{t - x}{z}} \cdot \left(y - a\right) \]
                                            13. --lowering--.f64N/A

                                              \[\leadsto t - \frac{\color{blue}{t - x}}{z} \cdot \left(y - a\right) \]
                                            14. --lowering--.f6482.3

                                              \[\leadsto t - \frac{t - x}{z} \cdot \color{blue}{\left(y - a\right)} \]
                                          7. Simplified82.3%

                                            \[\leadsto \color{blue}{t - \frac{t - x}{z} \cdot \left(y - a\right)} \]
                                          8. Taylor expanded in y around 0

                                            \[\leadsto \color{blue}{t - -1 \cdot \frac{a \cdot \left(t - x\right)}{z}} \]
                                          9. Step-by-step derivation
                                            1. sub-negN/A

                                              \[\leadsto \color{blue}{t + \left(\mathsf{neg}\left(-1 \cdot \frac{a \cdot \left(t - x\right)}{z}\right)\right)} \]
                                            2. mul-1-negN/A

                                              \[\leadsto t + \left(\mathsf{neg}\left(\color{blue}{\left(\mathsf{neg}\left(\frac{a \cdot \left(t - x\right)}{z}\right)\right)}\right)\right) \]
                                            3. remove-double-negN/A

                                              \[\leadsto t + \color{blue}{\frac{a \cdot \left(t - x\right)}{z}} \]
                                            4. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{a \cdot \left(t - x\right)}{z} + t} \]
                                            5. *-commutativeN/A

                                              \[\leadsto \frac{\color{blue}{\left(t - x\right) \cdot a}}{z} + t \]
                                            6. associate-/l*N/A

                                              \[\leadsto \color{blue}{\left(t - x\right) \cdot \frac{a}{z}} + t \]
                                            7. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{a}{z}, t\right)} \]
                                            8. --lowering--.f64N/A

                                              \[\leadsto \mathsf{fma}\left(\color{blue}{t - x}, \frac{a}{z}, t\right) \]
                                            9. /-lowering-/.f6461.4

                                              \[\leadsto \mathsf{fma}\left(t - x, \color{blue}{\frac{a}{z}}, t\right) \]
                                          10. Simplified61.4%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(t - x, \frac{a}{z}, t\right)} \]

                                          if -2.2e77 < z < 9.6e63

                                          1. Initial program 87.2%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Taylor expanded in z around 0

                                            \[\leadsto \color{blue}{x + \frac{y \cdot \left(t - x\right)}{a}} \]
                                          4. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{\frac{y \cdot \left(t - x\right)}{a} + x} \]
                                            2. associate-/l*N/A

                                              \[\leadsto \color{blue}{y \cdot \frac{t - x}{a}} + x \]
                                            3. accelerator-lowering-fma.f64N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)} \]
                                            4. /-lowering-/.f64N/A

                                              \[\leadsto \mathsf{fma}\left(y, \color{blue}{\frac{t - x}{a}}, x\right) \]
                                            5. --lowering--.f6463.1

                                              \[\leadsto \mathsf{fma}\left(y, \frac{\color{blue}{t - x}}{a}, x\right) \]
                                          5. Simplified63.1%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)} \]
                                        3. Recombined 2 regimes into one program.
                                        4. Add Preprocessing

                                        Alternative 17: 59.5% accurate, 0.9× speedup?

                                        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -9 \cdot 10^{+74}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq 8.5 \cdot 10^{+63}:\\ \;\;\;\;\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
                                        (FPCore (x y z t a)
                                         :precision binary64
                                         (if (<= z -9e+74) t (if (<= z 8.5e+63) (fma y (/ (- t x) a) x) t)))
                                        double code(double x, double y, double z, double t, double a) {
                                        	double tmp;
                                        	if (z <= -9e+74) {
                                        		tmp = t;
                                        	} else if (z <= 8.5e+63) {
                                        		tmp = fma(y, ((t - x) / a), x);
                                        	} else {
                                        		tmp = t;
                                        	}
                                        	return tmp;
                                        }
                                        
                                        function code(x, y, z, t, a)
                                        	tmp = 0.0
                                        	if (z <= -9e+74)
                                        		tmp = t;
                                        	elseif (z <= 8.5e+63)
                                        		tmp = fma(y, Float64(Float64(t - x) / a), x);
                                        	else
                                        		tmp = t;
                                        	end
                                        	return tmp
                                        end
                                        
                                        code[x_, y_, z_, t_, a_] := If[LessEqual[z, -9e+74], t, If[LessEqual[z, 8.5e+63], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision], t]]
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        \begin{array}{l}
                                        \mathbf{if}\;z \leq -9 \cdot 10^{+74}:\\
                                        \;\;\;\;t\\
                                        
                                        \mathbf{elif}\;z \leq 8.5 \cdot 10^{+63}:\\
                                        \;\;\;\;\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)\\
                                        
                                        \mathbf{else}:\\
                                        \;\;\;\;t\\
                                        
                                        
                                        \end{array}
                                        \end{array}
                                        
                                        Derivation
                                        1. Split input into 2 regimes
                                        2. if z < -8.9999999999999999e74 or 8.5000000000000004e63 < z

                                          1. Initial program 33.1%

                                            \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                          2. Add Preprocessing
                                          3. Taylor expanded in z around inf

                                            \[\leadsto \color{blue}{t} \]
                                          4. Step-by-step derivation
                                            1. Simplified50.1%

                                              \[\leadsto \color{blue}{t} \]

                                            if -8.9999999999999999e74 < z < 8.5000000000000004e63

                                            1. Initial program 87.2%

                                              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                            2. Add Preprocessing
                                            3. Taylor expanded in z around 0

                                              \[\leadsto \color{blue}{x + \frac{y \cdot \left(t - x\right)}{a}} \]
                                            4. Step-by-step derivation
                                              1. +-commutativeN/A

                                                \[\leadsto \color{blue}{\frac{y \cdot \left(t - x\right)}{a} + x} \]
                                              2. associate-/l*N/A

                                                \[\leadsto \color{blue}{y \cdot \frac{t - x}{a}} + x \]
                                              3. accelerator-lowering-fma.f64N/A

                                                \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)} \]
                                              4. /-lowering-/.f64N/A

                                                \[\leadsto \mathsf{fma}\left(y, \color{blue}{\frac{t - x}{a}}, x\right) \]
                                              5. --lowering--.f6463.1

                                                \[\leadsto \mathsf{fma}\left(y, \frac{\color{blue}{t - x}}{a}, x\right) \]
                                            5. Simplified63.1%

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{t - x}{a}, x\right)} \]
                                          5. Recombined 2 regimes into one program.
                                          6. Add Preprocessing

                                          Alternative 18: 36.9% accurate, 1.0× speedup?

                                          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -1.75 \cdot 10^{+72}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq 7 \cdot 10^{-233}:\\ \;\;\;\;t \cdot \frac{y}{a}\\ \mathbf{elif}\;z \leq 2 \cdot 10^{-19}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
                                          (FPCore (x y z t a)
                                           :precision binary64
                                           (if (<= z -1.75e+72)
                                             t
                                             (if (<= z 7e-233) (* t (/ y a)) (if (<= z 2e-19) x t))))
                                          double code(double x, double y, double z, double t, double a) {
                                          	double tmp;
                                          	if (z <= -1.75e+72) {
                                          		tmp = t;
                                          	} else if (z <= 7e-233) {
                                          		tmp = t * (y / a);
                                          	} else if (z <= 2e-19) {
                                          		tmp = x;
                                          	} else {
                                          		tmp = t;
                                          	}
                                          	return tmp;
                                          }
                                          
                                          real(8) function code(x, y, z, t, a)
                                              real(8), intent (in) :: x
                                              real(8), intent (in) :: y
                                              real(8), intent (in) :: z
                                              real(8), intent (in) :: t
                                              real(8), intent (in) :: a
                                              real(8) :: tmp
                                              if (z <= (-1.75d+72)) then
                                                  tmp = t
                                              else if (z <= 7d-233) then
                                                  tmp = t * (y / a)
                                              else if (z <= 2d-19) then
                                                  tmp = x
                                              else
                                                  tmp = t
                                              end if
                                              code = tmp
                                          end function
                                          
                                          public static double code(double x, double y, double z, double t, double a) {
                                          	double tmp;
                                          	if (z <= -1.75e+72) {
                                          		tmp = t;
                                          	} else if (z <= 7e-233) {
                                          		tmp = t * (y / a);
                                          	} else if (z <= 2e-19) {
                                          		tmp = x;
                                          	} else {
                                          		tmp = t;
                                          	}
                                          	return tmp;
                                          }
                                          
                                          def code(x, y, z, t, a):
                                          	tmp = 0
                                          	if z <= -1.75e+72:
                                          		tmp = t
                                          	elif z <= 7e-233:
                                          		tmp = t * (y / a)
                                          	elif z <= 2e-19:
                                          		tmp = x
                                          	else:
                                          		tmp = t
                                          	return tmp
                                          
                                          function code(x, y, z, t, a)
                                          	tmp = 0.0
                                          	if (z <= -1.75e+72)
                                          		tmp = t;
                                          	elseif (z <= 7e-233)
                                          		tmp = Float64(t * Float64(y / a));
                                          	elseif (z <= 2e-19)
                                          		tmp = x;
                                          	else
                                          		tmp = t;
                                          	end
                                          	return tmp
                                          end
                                          
                                          function tmp_2 = code(x, y, z, t, a)
                                          	tmp = 0.0;
                                          	if (z <= -1.75e+72)
                                          		tmp = t;
                                          	elseif (z <= 7e-233)
                                          		tmp = t * (y / a);
                                          	elseif (z <= 2e-19)
                                          		tmp = x;
                                          	else
                                          		tmp = t;
                                          	end
                                          	tmp_2 = tmp;
                                          end
                                          
                                          code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.75e+72], t, If[LessEqual[z, 7e-233], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2e-19], x, t]]]
                                          
                                          \begin{array}{l}
                                          
                                          \\
                                          \begin{array}{l}
                                          \mathbf{if}\;z \leq -1.75 \cdot 10^{+72}:\\
                                          \;\;\;\;t\\
                                          
                                          \mathbf{elif}\;z \leq 7 \cdot 10^{-233}:\\
                                          \;\;\;\;t \cdot \frac{y}{a}\\
                                          
                                          \mathbf{elif}\;z \leq 2 \cdot 10^{-19}:\\
                                          \;\;\;\;x\\
                                          
                                          \mathbf{else}:\\
                                          \;\;\;\;t\\
                                          
                                          
                                          \end{array}
                                          \end{array}
                                          
                                          Derivation
                                          1. Split input into 3 regimes
                                          2. if z < -1.75000000000000005e72 or 2e-19 < z

                                            1. Initial program 42.4%

                                              \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                            2. Add Preprocessing
                                            3. Taylor expanded in z around inf

                                              \[\leadsto \color{blue}{t} \]
                                            4. Step-by-step derivation
                                              1. Simplified46.7%

                                                \[\leadsto \color{blue}{t} \]

                                              if -1.75000000000000005e72 < z < 6.99999999999999982e-233

                                              1. Initial program 82.1%

                                                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                              2. Add Preprocessing
                                              3. Taylor expanded in x around 0

                                                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                                              4. Step-by-step derivation
                                                1. /-lowering-/.f64N/A

                                                  \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                                                2. *-lowering-*.f64N/A

                                                  \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a - z} \]
                                                3. --lowering--.f64N/A

                                                  \[\leadsto \frac{t \cdot \color{blue}{\left(y - z\right)}}{a - z} \]
                                                4. --lowering--.f6443.3

                                                  \[\leadsto \frac{t \cdot \left(y - z\right)}{\color{blue}{a - z}} \]
                                              5. Simplified43.3%

                                                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a - z}} \]
                                              6. Taylor expanded in a around inf

                                                \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
                                              7. Step-by-step derivation
                                                1. /-lowering-/.f64N/A

                                                  \[\leadsto \color{blue}{\frac{t \cdot \left(y - z\right)}{a}} \]
                                                2. *-commutativeN/A

                                                  \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
                                                3. *-lowering-*.f64N/A

                                                  \[\leadsto \frac{\color{blue}{\left(y - z\right) \cdot t}}{a} \]
                                                4. --lowering--.f6430.4

                                                  \[\leadsto \frac{\color{blue}{\left(y - z\right)} \cdot t}{a} \]
                                              8. Simplified30.4%

                                                \[\leadsto \color{blue}{\frac{\left(y - z\right) \cdot t}{a}} \]
                                              9. Step-by-step derivation
                                                1. *-commutativeN/A

                                                  \[\leadsto \frac{\color{blue}{t \cdot \left(y - z\right)}}{a} \]
                                                2. associate-/l*N/A

                                                  \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                                                3. *-lowering-*.f64N/A

                                                  \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                                                4. /-lowering-/.f64N/A

                                                  \[\leadsto t \cdot \color{blue}{\frac{y - z}{a}} \]
                                                5. --lowering--.f6437.5

                                                  \[\leadsto t \cdot \frac{\color{blue}{y - z}}{a} \]
                                              10. Applied egg-rr37.5%

                                                \[\leadsto \color{blue}{t \cdot \frac{y - z}{a}} \]
                                              11. Taylor expanded in y around inf

                                                \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
                                              12. Step-by-step derivation
                                                1. /-lowering-/.f6432.6

                                                  \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]
                                              13. Simplified32.6%

                                                \[\leadsto t \cdot \color{blue}{\frac{y}{a}} \]

                                              if 6.99999999999999982e-233 < z < 2e-19

                                              1. Initial program 97.8%

                                                \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                              2. Add Preprocessing
                                              3. Taylor expanded in a around inf

                                                \[\leadsto \color{blue}{x} \]
                                              4. Step-by-step derivation
                                                1. Simplified52.7%

                                                  \[\leadsto \color{blue}{x} \]
                                              5. Recombined 3 regimes into one program.
                                              6. Add Preprocessing

                                              Alternative 19: 38.9% accurate, 2.2× speedup?

                                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -9.6 \cdot 10^{+72}:\\ \;\;\;\;t\\ \mathbf{elif}\;z \leq 1.55 \cdot 10^{-19}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;t\\ \end{array} \end{array} \]
                                              (FPCore (x y z t a)
                                               :precision binary64
                                               (if (<= z -9.6e+72) t (if (<= z 1.55e-19) x t)))
                                              double code(double x, double y, double z, double t, double a) {
                                              	double tmp;
                                              	if (z <= -9.6e+72) {
                                              		tmp = t;
                                              	} else if (z <= 1.55e-19) {
                                              		tmp = x;
                                              	} else {
                                              		tmp = t;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              real(8) function code(x, y, z, t, a)
                                                  real(8), intent (in) :: x
                                                  real(8), intent (in) :: y
                                                  real(8), intent (in) :: z
                                                  real(8), intent (in) :: t
                                                  real(8), intent (in) :: a
                                                  real(8) :: tmp
                                                  if (z <= (-9.6d+72)) then
                                                      tmp = t
                                                  else if (z <= 1.55d-19) then
                                                      tmp = x
                                                  else
                                                      tmp = t
                                                  end if
                                                  code = tmp
                                              end function
                                              
                                              public static double code(double x, double y, double z, double t, double a) {
                                              	double tmp;
                                              	if (z <= -9.6e+72) {
                                              		tmp = t;
                                              	} else if (z <= 1.55e-19) {
                                              		tmp = x;
                                              	} else {
                                              		tmp = t;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              def code(x, y, z, t, a):
                                              	tmp = 0
                                              	if z <= -9.6e+72:
                                              		tmp = t
                                              	elif z <= 1.55e-19:
                                              		tmp = x
                                              	else:
                                              		tmp = t
                                              	return tmp
                                              
                                              function code(x, y, z, t, a)
                                              	tmp = 0.0
                                              	if (z <= -9.6e+72)
                                              		tmp = t;
                                              	elseif (z <= 1.55e-19)
                                              		tmp = x;
                                              	else
                                              		tmp = t;
                                              	end
                                              	return tmp
                                              end
                                              
                                              function tmp_2 = code(x, y, z, t, a)
                                              	tmp = 0.0;
                                              	if (z <= -9.6e+72)
                                              		tmp = t;
                                              	elseif (z <= 1.55e-19)
                                              		tmp = x;
                                              	else
                                              		tmp = t;
                                              	end
                                              	tmp_2 = tmp;
                                              end
                                              
                                              code[x_, y_, z_, t_, a_] := If[LessEqual[z, -9.6e+72], t, If[LessEqual[z, 1.55e-19], x, t]]
                                              
                                              \begin{array}{l}
                                              
                                              \\
                                              \begin{array}{l}
                                              \mathbf{if}\;z \leq -9.6 \cdot 10^{+72}:\\
                                              \;\;\;\;t\\
                                              
                                              \mathbf{elif}\;z \leq 1.55 \cdot 10^{-19}:\\
                                              \;\;\;\;x\\
                                              
                                              \mathbf{else}:\\
                                              \;\;\;\;t\\
                                              
                                              
                                              \end{array}
                                              \end{array}
                                              
                                              Derivation
                                              1. Split input into 2 regimes
                                              2. if z < -9.6000000000000004e72 or 1.5499999999999999e-19 < z

                                                1. Initial program 42.4%

                                                  \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                                2. Add Preprocessing
                                                3. Taylor expanded in z around inf

                                                  \[\leadsto \color{blue}{t} \]
                                                4. Step-by-step derivation
                                                  1. Simplified46.7%

                                                    \[\leadsto \color{blue}{t} \]

                                                  if -9.6000000000000004e72 < z < 1.5499999999999999e-19

                                                  1. Initial program 87.3%

                                                    \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                                  2. Add Preprocessing
                                                  3. Taylor expanded in a around inf

                                                    \[\leadsto \color{blue}{x} \]
                                                  4. Step-by-step derivation
                                                    1. Simplified32.3%

                                                      \[\leadsto \color{blue}{x} \]
                                                  5. Recombined 2 regimes into one program.
                                                  6. Add Preprocessing

                                                  Alternative 20: 25.8% accurate, 29.0× speedup?

                                                  \[\begin{array}{l} \\ t \end{array} \]
                                                  (FPCore (x y z t a) :precision binary64 t)
                                                  double code(double x, double y, double z, double t, double a) {
                                                  	return t;
                                                  }
                                                  
                                                  real(8) function code(x, y, z, t, a)
                                                      real(8), intent (in) :: x
                                                      real(8), intent (in) :: y
                                                      real(8), intent (in) :: z
                                                      real(8), intent (in) :: t
                                                      real(8), intent (in) :: a
                                                      code = t
                                                  end function
                                                  
                                                  public static double code(double x, double y, double z, double t, double a) {
                                                  	return t;
                                                  }
                                                  
                                                  def code(x, y, z, t, a):
                                                  	return t
                                                  
                                                  function code(x, y, z, t, a)
                                                  	return t
                                                  end
                                                  
                                                  function tmp = code(x, y, z, t, a)
                                                  	tmp = t;
                                                  end
                                                  
                                                  code[x_, y_, z_, t_, a_] := t
                                                  
                                                  \begin{array}{l}
                                                  
                                                  \\
                                                  t
                                                  \end{array}
                                                  
                                                  Derivation
                                                  1. Initial program 66.2%

                                                    \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                                  2. Add Preprocessing
                                                  3. Taylor expanded in z around inf

                                                    \[\leadsto \color{blue}{t} \]
                                                  4. Step-by-step derivation
                                                    1. Simplified25.6%

                                                      \[\leadsto \color{blue}{t} \]
                                                    2. Add Preprocessing

                                                    Alternative 21: 2.8% accurate, 29.0× speedup?

                                                    \[\begin{array}{l} \\ 0 \end{array} \]
                                                    (FPCore (x y z t a) :precision binary64 0.0)
                                                    double code(double x, double y, double z, double t, double a) {
                                                    	return 0.0;
                                                    }
                                                    
                                                    real(8) function code(x, y, z, t, a)
                                                        real(8), intent (in) :: x
                                                        real(8), intent (in) :: y
                                                        real(8), intent (in) :: z
                                                        real(8), intent (in) :: t
                                                        real(8), intent (in) :: a
                                                        code = 0.0d0
                                                    end function
                                                    
                                                    public static double code(double x, double y, double z, double t, double a) {
                                                    	return 0.0;
                                                    }
                                                    
                                                    def code(x, y, z, t, a):
                                                    	return 0.0
                                                    
                                                    function code(x, y, z, t, a)
                                                    	return 0.0
                                                    end
                                                    
                                                    function tmp = code(x, y, z, t, a)
                                                    	tmp = 0.0;
                                                    end
                                                    
                                                    code[x_, y_, z_, t_, a_] := 0.0
                                                    
                                                    \begin{array}{l}
                                                    
                                                    \\
                                                    0
                                                    \end{array}
                                                    
                                                    Derivation
                                                    1. Initial program 66.2%

                                                      \[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z} \]
                                                    2. Add Preprocessing
                                                    3. Taylor expanded in x around inf

                                                      \[\leadsto \color{blue}{x \cdot \left(1 + -1 \cdot \frac{y - z}{a - z}\right)} \]
                                                    4. Step-by-step derivation
                                                      1. +-commutativeN/A

                                                        \[\leadsto x \cdot \color{blue}{\left(-1 \cdot \frac{y - z}{a - z} + 1\right)} \]
                                                      2. distribute-rgt-inN/A

                                                        \[\leadsto \color{blue}{\left(-1 \cdot \frac{y - z}{a - z}\right) \cdot x + 1 \cdot x} \]
                                                      3. mul-1-negN/A

                                                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z}\right)\right)} \cdot x + 1 \cdot x \]
                                                      4. distribute-lft-neg-outN/A

                                                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{a - z} \cdot x\right)\right)} + 1 \cdot x \]
                                                      5. *-commutativeN/A

                                                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{x \cdot \frac{y - z}{a - z}}\right)\right) + 1 \cdot x \]
                                                      6. associate-/l*N/A

                                                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\frac{x \cdot \left(y - z\right)}{a - z}}\right)\right) + 1 \cdot x \]
                                                      7. *-commutativeN/A

                                                        \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{\left(y - z\right) \cdot x}}{a - z}\right)\right) + 1 \cdot x \]
                                                      8. associate-/l*N/A

                                                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{\left(y - z\right) \cdot \frac{x}{a - z}}\right)\right) + 1 \cdot x \]
                                                      9. distribute-lft-neg-inN/A

                                                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\left(y - z\right)\right)\right) \cdot \frac{x}{a - z}} + 1 \cdot x \]
                                                      10. mul-1-negN/A

                                                        \[\leadsto \color{blue}{\left(-1 \cdot \left(y - z\right)\right)} \cdot \frac{x}{a - z} + 1 \cdot x \]
                                                      11. *-lft-identityN/A

                                                        \[\leadsto \left(-1 \cdot \left(y - z\right)\right) \cdot \frac{x}{a - z} + \color{blue}{x} \]
                                                      12. accelerator-lowering-fma.f64N/A

                                                        \[\leadsto \color{blue}{\mathsf{fma}\left(-1 \cdot \left(y - z\right), \frac{x}{a - z}, x\right)} \]
                                                      13. mul-1-negN/A

                                                        \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{neg}\left(\left(y - z\right)\right)}, \frac{x}{a - z}, x\right) \]
                                                      14. sub-negN/A

                                                        \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(y + \left(\mathsf{neg}\left(z\right)\right)\right)}\right), \frac{x}{a - z}, x\right) \]
                                                      15. +-commutativeN/A

                                                        \[\leadsto \mathsf{fma}\left(\mathsf{neg}\left(\color{blue}{\left(\left(\mathsf{neg}\left(z\right)\right) + y\right)}\right), \frac{x}{a - z}, x\right) \]
                                                      16. distribute-neg-inN/A

                                                        \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) + \left(\mathsf{neg}\left(y\right)\right)}, \frac{x}{a - z}, x\right) \]
                                                      17. unsub-negN/A

                                                        \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\mathsf{neg}\left(\left(\mathsf{neg}\left(z\right)\right)\right)\right) - y}, \frac{x}{a - z}, x\right) \]
                                                      18. remove-double-negN/A

                                                        \[\leadsto \mathsf{fma}\left(\color{blue}{z} - y, \frac{x}{a - z}, x\right) \]
                                                      19. --lowering--.f64N/A

                                                        \[\leadsto \mathsf{fma}\left(\color{blue}{z - y}, \frac{x}{a - z}, x\right) \]
                                                      20. /-lowering-/.f64N/A

                                                        \[\leadsto \mathsf{fma}\left(z - y, \color{blue}{\frac{x}{a - z}}, x\right) \]
                                                      21. --lowering--.f6438.9

                                                        \[\leadsto \mathsf{fma}\left(z - y, \frac{x}{\color{blue}{a - z}}, x\right) \]
                                                    5. Simplified38.9%

                                                      \[\leadsto \color{blue}{\mathsf{fma}\left(z - y, \frac{x}{a - z}, x\right)} \]
                                                    6. Taylor expanded in z around inf

                                                      \[\leadsto \color{blue}{x + -1 \cdot x} \]
                                                    7. Step-by-step derivation
                                                      1. distribute-rgt1-inN/A

                                                        \[\leadsto \color{blue}{\left(-1 + 1\right) \cdot x} \]
                                                      2. metadata-evalN/A

                                                        \[\leadsto \color{blue}{0} \cdot x \]
                                                      3. mul0-lft2.7

                                                        \[\leadsto \color{blue}{0} \]
                                                    8. Simplified2.7%

                                                      \[\leadsto \color{blue}{0} \]
                                                    9. Add Preprocessing

                                                    Developer Target 1: 84.2% accurate, 0.6× speedup?

                                                    \[\begin{array}{l} \\ \begin{array}{l} t_1 := t - \frac{y}{z} \cdot \left(t - x\right)\\ \mathbf{if}\;z < -1.2536131056095036 \cdot 10^{+188}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z < 4.446702369113811 \cdot 10^{+64}:\\ \;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                                    (FPCore (x y z t a)
                                                     :precision binary64
                                                     (let* ((t_1 (- t (* (/ y z) (- t x)))))
                                                       (if (< z -1.2536131056095036e+188)
                                                         t_1
                                                         (if (< z 4.446702369113811e+64)
                                                           (+ x (/ (- y z) (/ (- a z) (- t x))))
                                                           t_1))))
                                                    double code(double x, double y, double z, double t, double a) {
                                                    	double t_1 = t - ((y / z) * (t - x));
                                                    	double tmp;
                                                    	if (z < -1.2536131056095036e+188) {
                                                    		tmp = t_1;
                                                    	} else if (z < 4.446702369113811e+64) {
                                                    		tmp = x + ((y - z) / ((a - z) / (t - x)));
                                                    	} else {
                                                    		tmp = t_1;
                                                    	}
                                                    	return tmp;
                                                    }
                                                    
                                                    real(8) function code(x, y, z, t, a)
                                                        real(8), intent (in) :: x
                                                        real(8), intent (in) :: y
                                                        real(8), intent (in) :: z
                                                        real(8), intent (in) :: t
                                                        real(8), intent (in) :: a
                                                        real(8) :: t_1
                                                        real(8) :: tmp
                                                        t_1 = t - ((y / z) * (t - x))
                                                        if (z < (-1.2536131056095036d+188)) then
                                                            tmp = t_1
                                                        else if (z < 4.446702369113811d+64) then
                                                            tmp = x + ((y - z) / ((a - z) / (t - x)))
                                                        else
                                                            tmp = t_1
                                                        end if
                                                        code = tmp
                                                    end function
                                                    
                                                    public static double code(double x, double y, double z, double t, double a) {
                                                    	double t_1 = t - ((y / z) * (t - x));
                                                    	double tmp;
                                                    	if (z < -1.2536131056095036e+188) {
                                                    		tmp = t_1;
                                                    	} else if (z < 4.446702369113811e+64) {
                                                    		tmp = x + ((y - z) / ((a - z) / (t - x)));
                                                    	} else {
                                                    		tmp = t_1;
                                                    	}
                                                    	return tmp;
                                                    }
                                                    
                                                    def code(x, y, z, t, a):
                                                    	t_1 = t - ((y / z) * (t - x))
                                                    	tmp = 0
                                                    	if z < -1.2536131056095036e+188:
                                                    		tmp = t_1
                                                    	elif z < 4.446702369113811e+64:
                                                    		tmp = x + ((y - z) / ((a - z) / (t - x)))
                                                    	else:
                                                    		tmp = t_1
                                                    	return tmp
                                                    
                                                    function code(x, y, z, t, a)
                                                    	t_1 = Float64(t - Float64(Float64(y / z) * Float64(t - x)))
                                                    	tmp = 0.0
                                                    	if (z < -1.2536131056095036e+188)
                                                    		tmp = t_1;
                                                    	elseif (z < 4.446702369113811e+64)
                                                    		tmp = Float64(x + Float64(Float64(y - z) / Float64(Float64(a - z) / Float64(t - x))));
                                                    	else
                                                    		tmp = t_1;
                                                    	end
                                                    	return tmp
                                                    end
                                                    
                                                    function tmp_2 = code(x, y, z, t, a)
                                                    	t_1 = t - ((y / z) * (t - x));
                                                    	tmp = 0.0;
                                                    	if (z < -1.2536131056095036e+188)
                                                    		tmp = t_1;
                                                    	elseif (z < 4.446702369113811e+64)
                                                    		tmp = x + ((y - z) / ((a - z) / (t - x)));
                                                    	else
                                                    		tmp = t_1;
                                                    	end
                                                    	tmp_2 = tmp;
                                                    end
                                                    
                                                    code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(y / z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[z, -1.2536131056095036e+188], t$95$1, If[Less[z, 4.446702369113811e+64], N[(x + N[(N[(y - z), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
                                                    
                                                    \begin{array}{l}
                                                    
                                                    \\
                                                    \begin{array}{l}
                                                    t_1 := t - \frac{y}{z} \cdot \left(t - x\right)\\
                                                    \mathbf{if}\;z < -1.2536131056095036 \cdot 10^{+188}:\\
                                                    \;\;\;\;t\_1\\
                                                    
                                                    \mathbf{elif}\;z < 4.446702369113811 \cdot 10^{+64}:\\
                                                    \;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\
                                                    
                                                    \mathbf{else}:\\
                                                    \;\;\;\;t\_1\\
                                                    
                                                    
                                                    \end{array}
                                                    \end{array}
                                                    

                                                    Reproduce

                                                    ?
                                                    herbie shell --seed 2024205 
                                                    (FPCore (x y z t a)
                                                      :name "Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3"
                                                      :precision binary64
                                                    
                                                      :alt
                                                      (! :herbie-platform default (if (< z -125361310560950360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (- t (* (/ y z) (- t x))) (if (< z 44467023691138110000000000000000000000000000000000000000000000000) (+ x (/ (- y z) (/ (- a z) (- t x)))) (- t (* (/ y z) (- t x))))))
                                                    
                                                      (+ x (/ (* (- y z) (- t x)) (- a z))))