Graphics.Rendering.Chart.SparkLine:renderSparkLine from Chart-1.5.3

Percentage Accurate: 96.8% → 99.5%
Time: 9.7s
Alternatives: 14
Speedup: 1.0×

Specification

?
\[\begin{array}{l} \\ x - \frac{y - z}{\frac{\left(t - z\right) + 1}{a}} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (- x (/ (- y z) (/ (+ (- t z) 1.0) a))))
double code(double x, double y, double z, double t, double a) {
	return x - ((y - z) / (((t - z) + 1.0) / a));
}
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 - z) + 1.0d0) / a))
end function
public static double code(double x, double y, double z, double t, double a) {
	return x - ((y - z) / (((t - z) + 1.0) / a));
}
def code(x, y, z, t, a):
	return x - ((y - z) / (((t - z) + 1.0) / a))
function code(x, y, z, t, a)
	return Float64(x - Float64(Float64(y - z) / Float64(Float64(Float64(t - z) + 1.0) / a)))
end
function tmp = code(x, y, z, t, a)
	tmp = x - ((y - z) / (((t - z) + 1.0) / a));
end
code[x_, y_, z_, t_, a_] := N[(x - N[(N[(y - z), $MachinePrecision] / N[(N[(N[(t - z), $MachinePrecision] + 1.0), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

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

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 14 alternatives:

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

Initial Program: 96.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ x - \frac{y - z}{\frac{\left(t - z\right) + 1}{a}} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (- x (/ (- y z) (/ (+ (- t z) 1.0) a))))
double code(double x, double y, double z, double t, double a) {
	return x - ((y - z) / (((t - z) + 1.0) / a));
}
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 - z) + 1.0d0) / a))
end function
public static double code(double x, double y, double z, double t, double a) {
	return x - ((y - z) / (((t - z) + 1.0) / a));
}
def code(x, y, z, t, a):
	return x - ((y - z) / (((t - z) + 1.0) / a))
function code(x, y, z, t, a)
	return Float64(x - Float64(Float64(y - z) / Float64(Float64(Float64(t - z) + 1.0) / a)))
end
function tmp = code(x, y, z, t, a)
	tmp = x - ((y - z) / (((t - z) + 1.0) / a));
end
code[x_, y_, z_, t_, a_] := N[(x - N[(N[(y - z), $MachinePrecision] / N[(N[(N[(t - z), $MachinePrecision] + 1.0), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

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

Alternative 1: 99.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ x - \frac{a}{\frac{-1 - \left(t - z\right)}{z - y}} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (- x (/ a (/ (- -1.0 (- t z)) (- z y)))))
double code(double x, double y, double z, double t, double a) {
	return x - (a / ((-1.0 - (t - z)) / (z - y)));
}
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 - (a / (((-1.0d0) - (t - z)) / (z - y)))
end function
public static double code(double x, double y, double z, double t, double a) {
	return x - (a / ((-1.0 - (t - z)) / (z - y)));
}
def code(x, y, z, t, a):
	return x - (a / ((-1.0 - (t - z)) / (z - y)))
function code(x, y, z, t, a)
	return Float64(x - Float64(a / Float64(Float64(-1.0 - Float64(t - z)) / Float64(z - y))))
end
function tmp = code(x, y, z, t, a)
	tmp = x - (a / ((-1.0 - (t - z)) / (z - y)));
end
code[x_, y_, z_, t_, a_] := N[(x - N[(a / N[(N[(-1.0 - N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(z - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
x - \frac{a}{\frac{-1 - \left(t - z\right)}{z - y}}
\end{array}
Derivation
  1. Initial program 95.7%

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

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

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

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

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

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

      \[\leadsto x - \color{blue}{\frac{a}{\frac{\left(t - z\right) + 1}{y - z}}} \]
    7. lower-/.f64N/A

      \[\leadsto x - \color{blue}{\frac{a}{\frac{\left(t - z\right) + 1}{y - z}}} \]
    8. lower-/.f6499.9

      \[\leadsto x - \frac{a}{\color{blue}{\frac{\left(t - z\right) + 1}{y - z}}} \]
    9. lift-+.f64N/A

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

      \[\leadsto x - \frac{a}{\frac{\color{blue}{1 + \left(t - z\right)}}{y - z}} \]
    11. lower-+.f6499.9

      \[\leadsto x - \frac{a}{\frac{\color{blue}{1 + \left(t - z\right)}}{y - z}} \]
  4. Applied rewrites99.9%

    \[\leadsto x - \color{blue}{\frac{a}{\frac{1 + \left(t - z\right)}{y - z}}} \]
  5. Final simplification99.9%

    \[\leadsto x - \frac{a}{\frac{-1 - \left(t - z\right)}{z - y}} \]
  6. Add Preprocessing

Alternative 2: 63.8% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(-a\right) \cdot y\\ t_2 := \frac{z - y}{\frac{-1 - \left(t - z\right)}{a}}\\ \mathbf{if}\;t\_2 \leq -2 \cdot 10^{+276}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t\_2 \leq 10^{+267}:\\ \;\;\;\;x - a\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (let* ((t_1 (* (- a) y)) (t_2 (/ (- z y) (/ (- -1.0 (- t z)) a))))
   (if (<= t_2 -2e+276) t_1 (if (<= t_2 1e+267) (- x a) t_1))))
double code(double x, double y, double z, double t, double a) {
	double t_1 = -a * y;
	double t_2 = (z - y) / ((-1.0 - (t - z)) / a);
	double tmp;
	if (t_2 <= -2e+276) {
		tmp = t_1;
	} else if (t_2 <= 1e+267) {
		tmp = x - a;
	} 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) :: t_2
    real(8) :: tmp
    t_1 = -a * y
    t_2 = (z - y) / (((-1.0d0) - (t - z)) / a)
    if (t_2 <= (-2d+276)) then
        tmp = t_1
    else if (t_2 <= 1d+267) then
        tmp = x - a
    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 = -a * y;
	double t_2 = (z - y) / ((-1.0 - (t - z)) / a);
	double tmp;
	if (t_2 <= -2e+276) {
		tmp = t_1;
	} else if (t_2 <= 1e+267) {
		tmp = x - a;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a):
	t_1 = -a * y
	t_2 = (z - y) / ((-1.0 - (t - z)) / a)
	tmp = 0
	if t_2 <= -2e+276:
		tmp = t_1
	elif t_2 <= 1e+267:
		tmp = x - a
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a)
	t_1 = Float64(Float64(-a) * y)
	t_2 = Float64(Float64(z - y) / Float64(Float64(-1.0 - Float64(t - z)) / a))
	tmp = 0.0
	if (t_2 <= -2e+276)
		tmp = t_1;
	elseif (t_2 <= 1e+267)
		tmp = Float64(x - a);
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a)
	t_1 = -a * y;
	t_2 = (z - y) / ((-1.0 - (t - z)) / a);
	tmp = 0.0;
	if (t_2 <= -2e+276)
		tmp = t_1;
	elseif (t_2 <= 1e+267)
		tmp = x - a;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[((-a) * y), $MachinePrecision]}, Block[{t$95$2 = N[(N[(z - y), $MachinePrecision] / N[(N[(-1.0 - N[(t - z), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, -2e+276], t$95$1, If[LessEqual[t$95$2, 1e+267], N[(x - a), $MachinePrecision], t$95$1]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \left(-a\right) \cdot y\\
t_2 := \frac{z - y}{\frac{-1 - \left(t - z\right)}{a}}\\
\mathbf{if}\;t\_2 \leq -2 \cdot 10^{+276}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;t\_2 \leq 10^{+267}:\\
\;\;\;\;x - a\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (-.f64 y z) (/.f64 (+.f64 (-.f64 t z) #s(literal 1 binary64)) a)) < -2.0000000000000001e276 or 9.9999999999999997e266 < (/.f64 (-.f64 y z) (/.f64 (+.f64 (-.f64 t z) #s(literal 1 binary64)) a))

    1. Initial program 99.8%

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

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

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

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

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

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

        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
      6. lower-fma.f64N/A

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

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

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

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

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

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

        \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
      13. lower--.f6476.5

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

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

      \[\leadsto a \cdot \color{blue}{\left(\frac{z}{1 - z} - \frac{y}{1 - z}\right)} \]
    7. Step-by-step derivation
      1. Applied rewrites62.1%

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

        \[\leadsto -1 \cdot \left(a \cdot \color{blue}{y}\right) \]
      3. Step-by-step derivation
        1. Applied rewrites54.7%

          \[\leadsto \left(-a\right) \cdot y \]

        if -2.0000000000000001e276 < (/.f64 (-.f64 y z) (/.f64 (+.f64 (-.f64 t z) #s(literal 1 binary64)) a)) < 9.9999999999999997e266

        1. Initial program 95.2%

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

          \[\leadsto \color{blue}{x - a} \]
        4. Step-by-step derivation
          1. lower--.f6460.9

            \[\leadsto \color{blue}{x - a} \]
        5. Applied rewrites60.9%

          \[\leadsto \color{blue}{x - a} \]
      4. Recombined 2 regimes into one program.
      5. Final simplification60.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{z - y}{\frac{-1 - \left(t - z\right)}{a}} \leq -2 \cdot 10^{+276}:\\ \;\;\;\;\left(-a\right) \cdot y\\ \mathbf{elif}\;\frac{z - y}{\frac{-1 - \left(t - z\right)}{a}} \leq 10^{+267}:\\ \;\;\;\;x - a\\ \mathbf{else}:\\ \;\;\;\;\left(-a\right) \cdot y\\ \end{array} \]
      6. Add Preprocessing

      Alternative 3: 74.5% accurate, 0.8× speedup?

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

        1. Initial program 91.2%

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

          \[\leadsto \color{blue}{x - a} \]
        4. Step-by-step derivation
          1. lower--.f6483.8

            \[\leadsto \color{blue}{x - a} \]
        5. Applied rewrites83.8%

          \[\leadsto \color{blue}{x - a} \]

        if -1 < z < 3.2000000000000001e-195

        1. Initial program 98.7%

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

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

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

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

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

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

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
          6. lower-fma.f64N/A

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

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

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

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

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

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

            \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
          13. lower--.f6478.7

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

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

          \[\leadsto \mathsf{fma}\left(-1 \cdot y + z \cdot \left(1 - y\right), a, x\right) \]
        7. Step-by-step derivation
          1. Applied rewrites78.2%

            \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(1 - y, z, -y\right), a, x\right) \]

          if 3.2000000000000001e-195 < z < 3.3e-80

          1. Initial program 99.8%

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

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

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

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

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

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

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

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

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

              \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{y - z}}{t}, \mathsf{neg}\left(a\right), x\right) \]
            9. lower-neg.f6481.6

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

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

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

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

            if 3.3e-80 < z < 8.49999999999999966e68

            1. Initial program 99.9%

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

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

                \[\leadsto \color{blue}{x + \left(\mathsf{neg}\left(-1\right)\right) \cdot \frac{a \cdot z}{\left(1 + t\right) - z}} \]
              2. metadata-evalN/A

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

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

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

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

                \[\leadsto \color{blue}{\frac{z}{\left(1 + t\right) - z} \cdot a} + x \]
              7. lower-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{z}{\left(1 + t\right) - z}, a, x\right)} \]
              8. lower-/.f64N/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{z}{\left(1 + t\right) - z}}, a, x\right) \]
              9. lower--.f64N/A

                \[\leadsto \mathsf{fma}\left(\frac{z}{\color{blue}{\left(1 + t\right) - z}}, a, x\right) \]
              10. lower-+.f6478.9

                \[\leadsto \mathsf{fma}\left(\frac{z}{\color{blue}{\left(1 + t\right)} - z}, a, x\right) \]
            5. Applied rewrites78.9%

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

              \[\leadsto \mathsf{fma}\left(\frac{z}{1 + t}, a, x\right) \]
            7. Step-by-step derivation
              1. Applied rewrites73.2%

                \[\leadsto \mathsf{fma}\left(\frac{z}{1 + t}, a, x\right) \]
              2. Step-by-step derivation
                1. Applied rewrites73.1%

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

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

              Alternative 4: 92.5% accurate, 0.9× speedup?

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

                1. Initial program 87.3%

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

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

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

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

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

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

                    \[\leadsto x - \color{blue}{\frac{a}{\frac{\left(t - z\right) + 1}{y - z}}} \]
                  7. lower-/.f64N/A

                    \[\leadsto x - \color{blue}{\frac{a}{\frac{\left(t - z\right) + 1}{y - z}}} \]
                  8. lower-/.f64100.0

                    \[\leadsto x - \frac{a}{\color{blue}{\frac{\left(t - z\right) + 1}{y - z}}} \]
                  9. lift-+.f64N/A

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

                    \[\leadsto x - \frac{a}{\frac{\color{blue}{1 + \left(t - z\right)}}{y - z}} \]
                  11. lower-+.f64100.0

                    \[\leadsto x - \frac{a}{\frac{\color{blue}{1 + \left(t - z\right)}}{y - z}} \]
                4. Applied rewrites100.0%

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

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

                    \[\leadsto x - \frac{a}{\frac{\color{blue}{\mathsf{neg}\left(z\right)}}{y - z}} \]
                  2. lower-neg.f6498.6

                    \[\leadsto x - \frac{a}{\frac{\color{blue}{-z}}{y - z}} \]
                7. Applied rewrites98.6%

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

                if -2.4999999999999998e161 < z < 1.4500000000000001e73

                1. Initial program 97.6%

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

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

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

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

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

                    \[\leadsto x - \color{blue}{\frac{\left(y - z\right) \cdot a}{\left(t - z\right) + 1}} \]
                  6. lower-*.f6495.0

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

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

                    \[\leadsto x - \frac{\left(y - z\right) \cdot a}{\color{blue}{1 + \left(t - z\right)}} \]
                  9. lower-+.f6495.0

                    \[\leadsto x - \frac{\left(y - z\right) \cdot a}{\color{blue}{1 + \left(t - z\right)}} \]
                4. Applied rewrites95.0%

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

                if 1.4500000000000001e73 < z

                1. Initial program 95.0%

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

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

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

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

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

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

                    \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                  6. lower-fma.f64N/A

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

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

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

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

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

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

                    \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
                  13. lower--.f64100.0

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

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

                  \[\leadsto \mathsf{fma}\left(\frac{z - y}{1 - z}, a, x\right) \]
                7. Step-by-step derivation
                  1. Applied rewrites100.0%

                    \[\leadsto \mathsf{fma}\left(\frac{z - y}{1 - z}, a, x\right) \]
                8. Recombined 3 regimes into one program.
                9. Final simplification96.4%

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

                Alternative 5: 92.5% accurate, 0.9× speedup?

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

                  1. Initial program 91.8%

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

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

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

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

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

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

                      \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                    6. lower-fma.f64N/A

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

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

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

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

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

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

                      \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
                    13. lower--.f6499.4

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

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

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

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

                    if -2.4999999999999998e161 < z < 1.4500000000000001e73

                    1. Initial program 97.6%

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

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

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

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

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

                        \[\leadsto x - \color{blue}{\frac{\left(y - z\right) \cdot a}{\left(t - z\right) + 1}} \]
                      6. lower-*.f6495.0

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

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

                        \[\leadsto x - \frac{\left(y - z\right) \cdot a}{\color{blue}{1 + \left(t - z\right)}} \]
                      9. lower-+.f6495.0

                        \[\leadsto x - \frac{\left(y - z\right) \cdot a}{\color{blue}{1 + \left(t - z\right)}} \]
                    4. Applied rewrites95.0%

                      \[\leadsto x - \color{blue}{\frac{\left(y - z\right) \cdot a}{1 + \left(t - z\right)}} \]
                  8. Recombined 2 regimes into one program.
                  9. Final simplification96.4%

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

                  Alternative 6: 74.2% accurate, 0.9× speedup?

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

                    1. Initial program 92.0%

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

                      \[\leadsto \color{blue}{x - a} \]
                    4. Step-by-step derivation
                      1. lower--.f6481.1

                        \[\leadsto \color{blue}{x - a} \]
                    5. Applied rewrites81.1%

                      \[\leadsto \color{blue}{x - a} \]

                    if -1 < z < 3.2000000000000001e-195

                    1. Initial program 98.7%

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

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

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

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

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

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

                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                      6. lower-fma.f64N/A

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

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

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

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

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

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

                        \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
                      13. lower--.f6478.7

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

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

                      \[\leadsto \mathsf{fma}\left(-1 \cdot y + z \cdot \left(1 - y\right), a, x\right) \]
                    7. Step-by-step derivation
                      1. Applied rewrites78.2%

                        \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(1 - y, z, -y\right), a, x\right) \]

                      if 3.2000000000000001e-195 < z < 1.7e12

                      1. Initial program 99.9%

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

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

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

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

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

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

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

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

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

                          \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{y - z}}{t}, \mathsf{neg}\left(a\right), x\right) \]
                        9. lower-neg.f6469.3

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

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

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

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

                      Alternative 7: 73.7% accurate, 0.9× speedup?

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

                        1. Initial program 92.0%

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

                          \[\leadsto \color{blue}{x - a} \]
                        4. Step-by-step derivation
                          1. lower--.f6481.1

                            \[\leadsto \color{blue}{x - a} \]
                        5. Applied rewrites81.1%

                          \[\leadsto \color{blue}{x - a} \]

                        if -1 < z < 4.9000000000000003e-195

                        1. Initial program 98.7%

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

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

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

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

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

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

                            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                          6. lower-fma.f64N/A

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

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

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

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

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

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

                            \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
                          13. lower--.f6478.7

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

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

                          \[\leadsto \mathsf{fma}\left(-1 \cdot y + z \cdot \left(1 - y\right), a, x\right) \]
                        7. Step-by-step derivation
                          1. Applied rewrites78.2%

                            \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(1 - y, z, -y\right), a, x\right) \]

                          if 4.9000000000000003e-195 < z < 1.7e12

                          1. Initial program 99.9%

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

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

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

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

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

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

                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y}{1 + t}\right)\right) \cdot a} + x \]
                            6. lower-fma.f64N/A

                              \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(\frac{y}{1 + t}\right), a, x\right)} \]
                            7. distribute-neg-frac2N/A

                              \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{y}{\mathsf{neg}\left(\left(1 + t\right)\right)}}, a, x\right) \]
                            8. lower-/.f64N/A

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

                              \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{\left(\mathsf{neg}\left(1\right)\right) + \left(\mathsf{neg}\left(t\right)\right)}}, a, x\right) \]
                            10. metadata-evalN/A

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

                              \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{-1 - t}}, a, x\right) \]
                            12. lower--.f6488.6

                              \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{-1 - t}}, a, x\right) \]
                          5. Applied rewrites88.6%

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

                            \[\leadsto x + \color{blue}{-1 \cdot \frac{a \cdot y}{t}} \]
                          7. Step-by-step derivation
                            1. Applied rewrites62.6%

                              \[\leadsto x - \color{blue}{\frac{a \cdot y}{t}} \]
                          8. Recombined 3 regimes into one program.
                          9. Final simplification77.0%

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

                          Alternative 8: 88.8% accurate, 1.0× speedup?

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

                            1. Initial program 91.5%

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

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

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

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

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

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

                                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                              6. lower-fma.f64N/A

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

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

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

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

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

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

                                \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
                              13. lower--.f6495.3

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

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

                              \[\leadsto \mathsf{fma}\left(\frac{z - y}{1 - z}, a, x\right) \]
                            7. Step-by-step derivation
                              1. Applied rewrites95.3%

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

                              if -2.1499999999999999e51 < z < 340

                              1. Initial program 99.1%

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

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

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

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

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

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

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y}{1 + t}\right)\right) \cdot a} + x \]
                                6. lower-fma.f64N/A

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(\frac{y}{1 + t}\right), a, x\right)} \]
                                7. distribute-neg-frac2N/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{y}{\mathsf{neg}\left(\left(1 + t\right)\right)}}, a, x\right) \]
                                8. lower-/.f64N/A

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

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{\left(\mathsf{neg}\left(1\right)\right) + \left(\mathsf{neg}\left(t\right)\right)}}, a, x\right) \]
                                10. metadata-evalN/A

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

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{-1 - t}}, a, x\right) \]
                                12. lower--.f6489.9

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

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

                            Alternative 9: 86.4% accurate, 1.0× speedup?

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

                              1. Initial program 93.1%

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

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

                                  \[\leadsto \color{blue}{x + \left(\mathsf{neg}\left(-1\right)\right) \cdot \frac{a \cdot z}{\left(1 + t\right) - z}} \]
                                2. metadata-evalN/A

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

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

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

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

                                  \[\leadsto \color{blue}{\frac{z}{\left(1 + t\right) - z} \cdot a} + x \]
                                7. lower-fma.f64N/A

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{z}{\left(1 + t\right) - z}, a, x\right)} \]
                                8. lower-/.f64N/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{z}{\left(1 + t\right) - z}}, a, x\right) \]
                                9. lower--.f64N/A

                                  \[\leadsto \mathsf{fma}\left(\frac{z}{\color{blue}{\left(1 + t\right) - z}}, a, x\right) \]
                                10. lower-+.f6489.9

                                  \[\leadsto \mathsf{fma}\left(\frac{z}{\color{blue}{\left(1 + t\right)} - z}, a, x\right) \]
                              5. Applied rewrites89.9%

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

                              if -2.4999999999999998e161 < z < 4.7000000000000001e-23

                              1. Initial program 97.4%

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

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

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

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

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

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

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y}{1 + t}\right)\right) \cdot a} + x \]
                                6. lower-fma.f64N/A

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(\frac{y}{1 + t}\right), a, x\right)} \]
                                7. distribute-neg-frac2N/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{y}{\mathsf{neg}\left(\left(1 + t\right)\right)}}, a, x\right) \]
                                8. lower-/.f64N/A

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

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{\left(\mathsf{neg}\left(1\right)\right) + \left(\mathsf{neg}\left(t\right)\right)}}, a, x\right) \]
                                10. metadata-evalN/A

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

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{-1 - t}}, a, x\right) \]
                                12. lower--.f6489.2

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{-1 - t}}, a, x\right) \]
                              5. Applied rewrites89.2%

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

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

                            Alternative 10: 83.6% accurate, 1.1× speedup?

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

                              1. Initial program 91.8%

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

                                \[\leadsto \color{blue}{x - a} \]
                              4. Step-by-step derivation
                                1. lower--.f6490.9

                                  \[\leadsto \color{blue}{x - a} \]
                              5. Applied rewrites90.9%

                                \[\leadsto \color{blue}{x - a} \]

                              if -2.4999999999999998e161 < z < 8.5000000000000002e69

                              1. Initial program 97.6%

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

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

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

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

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

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

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y}{1 + t}\right)\right) \cdot a} + x \]
                                6. lower-fma.f64N/A

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{neg}\left(\frac{y}{1 + t}\right), a, x\right)} \]
                                7. distribute-neg-frac2N/A

                                  \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{y}{\mathsf{neg}\left(\left(1 + t\right)\right)}}, a, x\right) \]
                                8. lower-/.f64N/A

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

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{\left(\mathsf{neg}\left(1\right)\right) + \left(\mathsf{neg}\left(t\right)\right)}}, a, x\right) \]
                                10. metadata-evalN/A

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

                                  \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{-1 - t}}, a, x\right) \]
                                12. lower--.f6486.3

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

                                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{-1 - t}, a, x\right)} \]
                            3. Recombined 2 regimes into one program.
                            4. Add Preprocessing

                            Alternative 11: 74.6% accurate, 1.2× speedup?

                            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -1:\\ \;\;\;\;x - a\\ \mathbf{elif}\;z \leq 32:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(1 - y, z, -y\right), a, x\right)\\ \mathbf{else}:\\ \;\;\;\;x - a\\ \end{array} \end{array} \]
                            (FPCore (x y z t a)
                             :precision binary64
                             (if (<= z -1.0)
                               (- x a)
                               (if (<= z 32.0) (fma (fma (- 1.0 y) z (- y)) a x) (- x a))))
                            double code(double x, double y, double z, double t, double a) {
                            	double tmp;
                            	if (z <= -1.0) {
                            		tmp = x - a;
                            	} else if (z <= 32.0) {
                            		tmp = fma(fma((1.0 - y), z, -y), a, x);
                            	} else {
                            		tmp = x - a;
                            	}
                            	return tmp;
                            }
                            
                            function code(x, y, z, t, a)
                            	tmp = 0.0
                            	if (z <= -1.0)
                            		tmp = Float64(x - a);
                            	elseif (z <= 32.0)
                            		tmp = fma(fma(Float64(1.0 - y), z, Float64(-y)), a, x);
                            	else
                            		tmp = Float64(x - a);
                            	end
                            	return tmp
                            end
                            
                            code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.0], N[(x - a), $MachinePrecision], If[LessEqual[z, 32.0], N[(N[(N[(1.0 - y), $MachinePrecision] * z + (-y)), $MachinePrecision] * a + x), $MachinePrecision], N[(x - a), $MachinePrecision]]]
                            
                            \begin{array}{l}
                            
                            \\
                            \begin{array}{l}
                            \mathbf{if}\;z \leq -1:\\
                            \;\;\;\;x - a\\
                            
                            \mathbf{elif}\;z \leq 32:\\
                            \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(1 - y, z, -y\right), a, x\right)\\
                            
                            \mathbf{else}:\\
                            \;\;\;\;x - a\\
                            
                            
                            \end{array}
                            \end{array}
                            
                            Derivation
                            1. Split input into 2 regimes
                            2. if z < -1 or 32 < z

                              1. Initial program 92.1%

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

                                \[\leadsto \color{blue}{x - a} \]
                              4. Step-by-step derivation
                                1. lower--.f6480.6

                                  \[\leadsto \color{blue}{x - a} \]
                              5. Applied rewrites80.6%

                                \[\leadsto \color{blue}{x - a} \]

                              if -1 < z < 32

                              1. Initial program 99.1%

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

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

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

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

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

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

                                  \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                                6. lower-fma.f64N/A

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

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

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

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

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

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

                                  \[\leadsto \mathsf{fma}\left(\frac{-\color{blue}{\left(y - z\right)}}{1 - z}, a, x\right) \]
                                13. lower--.f6470.3

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

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

                                \[\leadsto \mathsf{fma}\left(-1 \cdot y + z \cdot \left(1 - y\right), a, x\right) \]
                              7. Step-by-step derivation
                                1. Applied rewrites70.0%

                                  \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(1 - y, z, -y\right), a, x\right) \]
                              8. Recombined 2 regimes into one program.
                              9. Add Preprocessing

                              Alternative 12: 72.9% accurate, 1.7× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -6 \cdot 10^{+20}:\\ \;\;\;\;x - a\\ \mathbf{elif}\;z \leq 2.4 \cdot 10^{+48}:\\ \;\;\;\;\mathsf{fma}\left(-y, a, x\right)\\ \mathbf{else}:\\ \;\;\;\;x - a\\ \end{array} \end{array} \]
                              (FPCore (x y z t a)
                               :precision binary64
                               (if (<= z -6e+20) (- x a) (if (<= z 2.4e+48) (fma (- y) a x) (- x a))))
                              double code(double x, double y, double z, double t, double a) {
                              	double tmp;
                              	if (z <= -6e+20) {
                              		tmp = x - a;
                              	} else if (z <= 2.4e+48) {
                              		tmp = fma(-y, a, x);
                              	} else {
                              		tmp = x - a;
                              	}
                              	return tmp;
                              }
                              
                              function code(x, y, z, t, a)
                              	tmp = 0.0
                              	if (z <= -6e+20)
                              		tmp = Float64(x - a);
                              	elseif (z <= 2.4e+48)
                              		tmp = fma(Float64(-y), a, x);
                              	else
                              		tmp = Float64(x - a);
                              	end
                              	return tmp
                              end
                              
                              code[x_, y_, z_, t_, a_] := If[LessEqual[z, -6e+20], N[(x - a), $MachinePrecision], If[LessEqual[z, 2.4e+48], N[((-y) * a + x), $MachinePrecision], N[(x - a), $MachinePrecision]]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              \mathbf{if}\;z \leq -6 \cdot 10^{+20}:\\
                              \;\;\;\;x - a\\
                              
                              \mathbf{elif}\;z \leq 2.4 \cdot 10^{+48}:\\
                              \;\;\;\;\mathsf{fma}\left(-y, a, x\right)\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;x - a\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if z < -6e20 or 2.4000000000000001e48 < z

                                1. Initial program 91.1%

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

                                  \[\leadsto \color{blue}{x - a} \]
                                4. Step-by-step derivation
                                  1. lower--.f6483.3

                                    \[\leadsto \color{blue}{x - a} \]
                                5. Applied rewrites83.3%

                                  \[\leadsto \color{blue}{x - a} \]

                                if -6e20 < z < 2.4000000000000001e48

                                1. Initial program 99.2%

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

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

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

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

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

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

                                    \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{y - z}{1 - z}\right)\right) \cdot a} + x \]
                                  6. lower-fma.f64N/A

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

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

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

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

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

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

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

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

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

                                  \[\leadsto \mathsf{fma}\left(-1 \cdot y, a, x\right) \]
                                7. Step-by-step derivation
                                  1. Applied rewrites67.2%

                                    \[\leadsto \mathsf{fma}\left(-y, a, x\right) \]
                                8. Recombined 2 regimes into one program.
                                9. Add Preprocessing

                                Alternative 13: 60.7% accurate, 8.8× speedup?

                                \[\begin{array}{l} \\ x - a \end{array} \]
                                (FPCore (x y z t a) :precision binary64 (- x a))
                                double code(double x, double y, double z, double t, double a) {
                                	return x - a;
                                }
                                
                                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 - a
                                end function
                                
                                public static double code(double x, double y, double z, double t, double a) {
                                	return x - a;
                                }
                                
                                def code(x, y, z, t, a):
                                	return x - a
                                
                                function code(x, y, z, t, a)
                                	return Float64(x - a)
                                end
                                
                                function tmp = code(x, y, z, t, a)
                                	tmp = x - a;
                                end
                                
                                code[x_, y_, z_, t_, a_] := N[(x - a), $MachinePrecision]
                                
                                \begin{array}{l}
                                
                                \\
                                x - a
                                \end{array}
                                
                                Derivation
                                1. Initial program 95.7%

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

                                  \[\leadsto \color{blue}{x - a} \]
                                4. Step-by-step derivation
                                  1. lower--.f6456.1

                                    \[\leadsto \color{blue}{x - a} \]
                                5. Applied rewrites56.1%

                                  \[\leadsto \color{blue}{x - a} \]
                                6. Add Preprocessing

                                Alternative 14: 16.8% accurate, 11.7× speedup?

                                \[\begin{array}{l} \\ -a \end{array} \]
                                (FPCore (x y z t a) :precision binary64 (- a))
                                double code(double x, double y, double z, double t, double a) {
                                	return -a;
                                }
                                
                                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 = -a
                                end function
                                
                                public static double code(double x, double y, double z, double t, double a) {
                                	return -a;
                                }
                                
                                def code(x, y, z, t, a):
                                	return -a
                                
                                function code(x, y, z, t, a)
                                	return Float64(-a)
                                end
                                
                                function tmp = code(x, y, z, t, a)
                                	tmp = -a;
                                end
                                
                                code[x_, y_, z_, t_, a_] := (-a)
                                
                                \begin{array}{l}
                                
                                \\
                                -a
                                \end{array}
                                
                                Derivation
                                1. Initial program 95.7%

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

                                  \[\leadsto \color{blue}{x - a} \]
                                4. Step-by-step derivation
                                  1. lower--.f6456.1

                                    \[\leadsto \color{blue}{x - a} \]
                                5. Applied rewrites56.1%

                                  \[\leadsto \color{blue}{x - a} \]
                                6. Taylor expanded in a around inf

                                  \[\leadsto -1 \cdot \color{blue}{a} \]
                                7. Step-by-step derivation
                                  1. Applied rewrites16.4%

                                    \[\leadsto -a \]
                                  2. Add Preprocessing

                                  Developer Target 1: 99.5% accurate, 1.2× speedup?

                                  \[\begin{array}{l} \\ x - \frac{y - z}{\left(t - z\right) + 1} \cdot a \end{array} \]
                                  (FPCore (x y z t a)
                                   :precision binary64
                                   (- x (* (/ (- y z) (+ (- t z) 1.0)) a)))
                                  double code(double x, double y, double z, double t, double a) {
                                  	return x - (((y - z) / ((t - z) + 1.0)) * a);
                                  }
                                  
                                  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 - z) + 1.0d0)) * a)
                                  end function
                                  
                                  public static double code(double x, double y, double z, double t, double a) {
                                  	return x - (((y - z) / ((t - z) + 1.0)) * a);
                                  }
                                  
                                  def code(x, y, z, t, a):
                                  	return x - (((y - z) / ((t - z) + 1.0)) * a)
                                  
                                  function code(x, y, z, t, a)
                                  	return Float64(x - Float64(Float64(Float64(y - z) / Float64(Float64(t - z) + 1.0)) * a))
                                  end
                                  
                                  function tmp = code(x, y, z, t, a)
                                  	tmp = x - (((y - z) / ((t - z) + 1.0)) * a);
                                  end
                                  
                                  code[x_, y_, z_, t_, a_] := N[(x - N[(N[(N[(y - z), $MachinePrecision] / N[(N[(t - z), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]
                                  
                                  \begin{array}{l}
                                  
                                  \\
                                  x - \frac{y - z}{\left(t - z\right) + 1} \cdot a
                                  \end{array}
                                  

                                  Reproduce

                                  ?
                                  herbie shell --seed 2024276 
                                  (FPCore (x y z t a)
                                    :name "Graphics.Rendering.Chart.SparkLine:renderSparkLine from Chart-1.5.3"
                                    :precision binary64
                                  
                                    :alt
                                    (! :herbie-platform default (- x (* (/ (- y z) (+ (- t z) 1)) a)))
                                  
                                    (- x (/ (- y z) (/ (+ (- t z) 1.0) a))))