Data.Colour.RGB:hslsv from colour-2.3.3, B

Percentage Accurate: 99.4% → 99.8%
Time: 10.7s
Alternatives: 17
Speedup: 1.1×

Specification

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

\\
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\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 17 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: 99.4% accurate, 1.0× speedup?

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

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

Alternative 1: 99.8% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \mathsf{fma}\left(a, 120, \left(x - y\right) \cdot \frac{-60}{t - z}\right) \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (fma a 120.0 (* (- x y) (/ -60.0 (- t z)))))
double code(double x, double y, double z, double t, double a) {
	return fma(a, 120.0, ((x - y) * (-60.0 / (t - z))));
}
function code(x, y, z, t, a)
	return fma(a, 120.0, Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))))
end
code[x_, y_, z_, t_, a_] := N[(a * 120.0 + N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\mathsf{fma}\left(a, 120, \left(x - y\right) \cdot \frac{-60}{t - z}\right)
\end{array}
Derivation
  1. Initial program 99.1%

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

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

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

      \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
    4. lower-fma.f6499.1

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

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

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
    7. *-commutativeN/A

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

      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
    9. *-commutativeN/A

      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
    10. lower-*.f64N/A

      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
    11. frac-2negN/A

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

      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
    13. metadata-evalN/A

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
    14. neg-sub0N/A

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
    15. lift--.f64N/A

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
    16. sub-negN/A

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
    17. +-commutativeN/A

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
    18. associate--r+N/A

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
    19. neg-sub0N/A

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

      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
    21. lower--.f6499.8

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

    \[\leadsto \color{blue}{\mathsf{fma}\left(a, 120, \frac{-60}{t - z} \cdot \left(x - y\right)\right)} \]
  5. Final simplification99.8%

    \[\leadsto \mathsf{fma}\left(a, 120, \left(x - y\right) \cdot \frac{-60}{t - z}\right) \]
  6. Add Preprocessing

Alternative 2: 59.8% accurate, 0.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+240}:\\ \;\;\;\;\frac{x - y}{0.016666666666666666 \cdot z}\\ \mathbf{elif}\;t\_1 \leq -1 \cdot 10^{+78}:\\ \;\;\;\;\frac{-60}{z - t} \cdot y\\ \mathbf{elif}\;t\_1 \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \end{array} \end{array} \]
(FPCore (x y z t a)
 :precision binary64
 (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
   (if (<= t_1 -1e+240)
     (/ (- x y) (* 0.016666666666666666 z))
     (if (<= t_1 -1e+78)
       (* (/ -60.0 (- z t)) y)
       (if (<= t_1 1e+120)
         (* 120.0 a)
         (/ x (* -0.016666666666666666 (- t z))))))))
double code(double x, double y, double z, double t, double a) {
	double t_1 = (60.0 * (x - y)) / (z - t);
	double tmp;
	if (t_1 <= -1e+240) {
		tmp = (x - y) / (0.016666666666666666 * z);
	} else if (t_1 <= -1e+78) {
		tmp = (-60.0 / (z - t)) * y;
	} else if (t_1 <= 1e+120) {
		tmp = 120.0 * a;
	} else {
		tmp = x / (-0.016666666666666666 * (t - z));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (60.0d0 * (x - y)) / (z - t)
    if (t_1 <= (-1d+240)) then
        tmp = (x - y) / (0.016666666666666666d0 * z)
    else if (t_1 <= (-1d+78)) then
        tmp = ((-60.0d0) / (z - t)) * y
    else if (t_1 <= 1d+120) then
        tmp = 120.0d0 * a
    else
        tmp = x / ((-0.016666666666666666d0) * (t - z))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
	double t_1 = (60.0 * (x - y)) / (z - t);
	double tmp;
	if (t_1 <= -1e+240) {
		tmp = (x - y) / (0.016666666666666666 * z);
	} else if (t_1 <= -1e+78) {
		tmp = (-60.0 / (z - t)) * y;
	} else if (t_1 <= 1e+120) {
		tmp = 120.0 * a;
	} else {
		tmp = x / (-0.016666666666666666 * (t - z));
	}
	return tmp;
}
def code(x, y, z, t, a):
	t_1 = (60.0 * (x - y)) / (z - t)
	tmp = 0
	if t_1 <= -1e+240:
		tmp = (x - y) / (0.016666666666666666 * z)
	elif t_1 <= -1e+78:
		tmp = (-60.0 / (z - t)) * y
	elif t_1 <= 1e+120:
		tmp = 120.0 * a
	else:
		tmp = x / (-0.016666666666666666 * (t - z))
	return tmp
function code(x, y, z, t, a)
	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
	tmp = 0.0
	if (t_1 <= -1e+240)
		tmp = Float64(Float64(x - y) / Float64(0.016666666666666666 * z));
	elseif (t_1 <= -1e+78)
		tmp = Float64(Float64(-60.0 / Float64(z - t)) * y);
	elseif (t_1 <= 1e+120)
		tmp = Float64(120.0 * a);
	else
		tmp = Float64(x / Float64(-0.016666666666666666 * Float64(t - z)));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a)
	t_1 = (60.0 * (x - y)) / (z - t);
	tmp = 0.0;
	if (t_1 <= -1e+240)
		tmp = (x - y) / (0.016666666666666666 * z);
	elseif (t_1 <= -1e+78)
		tmp = (-60.0 / (z - t)) * y;
	elseif (t_1 <= 1e+120)
		tmp = 120.0 * a;
	else
		tmp = x / (-0.016666666666666666 * (t - z));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e+240], N[(N[(x - y), $MachinePrecision] / N[(0.016666666666666666 * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, -1e+78], N[(N[(-60.0 / N[(z - t), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], If[LessEqual[t$95$1, 1e+120], N[(120.0 * a), $MachinePrecision], N[(x / N[(-0.016666666666666666 * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{+240}:\\
\;\;\;\;\frac{x - y}{0.016666666666666666 \cdot z}\\

\mathbf{elif}\;t\_1 \leq -1 \cdot 10^{+78}:\\
\;\;\;\;\frac{-60}{z - t} \cdot y\\

\mathbf{elif}\;t\_1 \leq 10^{+120}:\\
\;\;\;\;120 \cdot a\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -1.00000000000000001e240

    1. Initial program 95.4%

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
      11. lower--.f6492.2

        \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
    5. Applied rewrites92.2%

      \[\leadsto \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}} \]
    6. Step-by-step derivation
      1. Applied rewrites92.4%

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

        \[\leadsto \frac{x - y}{\frac{1}{60} \cdot \color{blue}{z}} \]
      3. Step-by-step derivation
        1. Applied rewrites82.9%

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

        if -1.00000000000000001e240 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -1.00000000000000001e78

        1. Initial program 99.6%

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

          \[\leadsto \color{blue}{-60 \cdot \frac{y}{z - t}} \]
        4. Step-by-step derivation
          1. metadata-evalN/A

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

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

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

            \[\leadsto \color{blue}{\mathsf{neg}\left(60 \cdot \left(\frac{1}{z - t} \cdot y\right)\right)} \]
          5. associate-*l*N/A

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

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(60 \cdot \frac{1}{z - t}\right)\right) \cdot y} \]
          7. lower-*.f64N/A

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

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

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

            \[\leadsto \color{blue}{\frac{\mathsf{neg}\left(60\right)}{z - t}} \cdot y \]
          11. metadata-evalN/A

            \[\leadsto \frac{\color{blue}{-60}}{z - t} \cdot y \]
          12. lower-/.f64N/A

            \[\leadsto \color{blue}{\frac{-60}{z - t}} \cdot y \]
          13. lower--.f6463.2

            \[\leadsto \frac{-60}{\color{blue}{z - t}} \cdot y \]
        5. Applied rewrites63.2%

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

        if -1.00000000000000001e78 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 9.9999999999999998e119

        1. Initial program 99.8%

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

          \[\leadsto \color{blue}{120 \cdot a} \]
        4. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \color{blue}{a \cdot 120} \]
          2. lower-*.f6466.7

            \[\leadsto \color{blue}{a \cdot 120} \]
        5. Applied rewrites66.7%

          \[\leadsto \color{blue}{a \cdot 120} \]

        if 9.9999999999999998e119 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

        1. Initial program 97.2%

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

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

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

            \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
          4. lower-fma.f6497.2

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

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

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
          7. *-commutativeN/A

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

            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
          9. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
          10. lower-*.f64N/A

            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
          11. frac-2negN/A

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

            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
          13. metadata-evalN/A

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
          14. neg-sub0N/A

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
          15. lift--.f64N/A

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
          16. sub-negN/A

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
          17. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
          18. associate--r+N/A

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
          19. neg-sub0N/A

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

            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
          21. lower--.f6499.7

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

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

          \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
        6. Step-by-step derivation
          1. associate-*r/N/A

            \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
          2. remove-double-negN/A

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

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

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

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

            \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
          7. mul-1-negN/A

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

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

            \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
          10. lower-*.f64N/A

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

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

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

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

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

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

            \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
          17. lower--.f6458.9

            \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
        7. Applied rewrites58.9%

          \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
        8. Step-by-step derivation
          1. Applied rewrites61.4%

            \[\leadsto \frac{x}{\color{blue}{\left(t - z\right) \cdot -0.016666666666666666}} \]
        9. Recombined 4 regimes into one program.
        10. Final simplification66.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq -1 \cdot 10^{+240}:\\ \;\;\;\;\frac{x - y}{0.016666666666666666 \cdot z}\\ \mathbf{elif}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq -1 \cdot 10^{+78}:\\ \;\;\;\;\frac{-60}{z - t} \cdot y\\ \mathbf{elif}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \end{array} \]
        11. Add Preprocessing

        Alternative 3: 59.8% accurate, 0.3× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+240}:\\ \;\;\;\;\frac{x - y}{z} \cdot 60\\ \mathbf{elif}\;t\_1 \leq -1 \cdot 10^{+78}:\\ \;\;\;\;\frac{-60}{z - t} \cdot y\\ \mathbf{elif}\;t\_1 \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \end{array} \end{array} \]
        (FPCore (x y z t a)
         :precision binary64
         (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
           (if (<= t_1 -1e+240)
             (* (/ (- x y) z) 60.0)
             (if (<= t_1 -1e+78)
               (* (/ -60.0 (- z t)) y)
               (if (<= t_1 1e+120)
                 (* 120.0 a)
                 (/ x (* -0.016666666666666666 (- t z))))))))
        double code(double x, double y, double z, double t, double a) {
        	double t_1 = (60.0 * (x - y)) / (z - t);
        	double tmp;
        	if (t_1 <= -1e+240) {
        		tmp = ((x - y) / z) * 60.0;
        	} else if (t_1 <= -1e+78) {
        		tmp = (-60.0 / (z - t)) * y;
        	} else if (t_1 <= 1e+120) {
        		tmp = 120.0 * a;
        	} else {
        		tmp = x / (-0.016666666666666666 * (t - z));
        	}
        	return tmp;
        }
        
        real(8) function code(x, y, z, t, a)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8), intent (in) :: z
            real(8), intent (in) :: t
            real(8), intent (in) :: a
            real(8) :: t_1
            real(8) :: tmp
            t_1 = (60.0d0 * (x - y)) / (z - t)
            if (t_1 <= (-1d+240)) then
                tmp = ((x - y) / z) * 60.0d0
            else if (t_1 <= (-1d+78)) then
                tmp = ((-60.0d0) / (z - t)) * y
            else if (t_1 <= 1d+120) then
                tmp = 120.0d0 * a
            else
                tmp = x / ((-0.016666666666666666d0) * (t - z))
            end if
            code = tmp
        end function
        
        public static double code(double x, double y, double z, double t, double a) {
        	double t_1 = (60.0 * (x - y)) / (z - t);
        	double tmp;
        	if (t_1 <= -1e+240) {
        		tmp = ((x - y) / z) * 60.0;
        	} else if (t_1 <= -1e+78) {
        		tmp = (-60.0 / (z - t)) * y;
        	} else if (t_1 <= 1e+120) {
        		tmp = 120.0 * a;
        	} else {
        		tmp = x / (-0.016666666666666666 * (t - z));
        	}
        	return tmp;
        }
        
        def code(x, y, z, t, a):
        	t_1 = (60.0 * (x - y)) / (z - t)
        	tmp = 0
        	if t_1 <= -1e+240:
        		tmp = ((x - y) / z) * 60.0
        	elif t_1 <= -1e+78:
        		tmp = (-60.0 / (z - t)) * y
        	elif t_1 <= 1e+120:
        		tmp = 120.0 * a
        	else:
        		tmp = x / (-0.016666666666666666 * (t - z))
        	return tmp
        
        function code(x, y, z, t, a)
        	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
        	tmp = 0.0
        	if (t_1 <= -1e+240)
        		tmp = Float64(Float64(Float64(x - y) / z) * 60.0);
        	elseif (t_1 <= -1e+78)
        		tmp = Float64(Float64(-60.0 / Float64(z - t)) * y);
        	elseif (t_1 <= 1e+120)
        		tmp = Float64(120.0 * a);
        	else
        		tmp = Float64(x / Float64(-0.016666666666666666 * Float64(t - z)));
        	end
        	return tmp
        end
        
        function tmp_2 = code(x, y, z, t, a)
        	t_1 = (60.0 * (x - y)) / (z - t);
        	tmp = 0.0;
        	if (t_1 <= -1e+240)
        		tmp = ((x - y) / z) * 60.0;
        	elseif (t_1 <= -1e+78)
        		tmp = (-60.0 / (z - t)) * y;
        	elseif (t_1 <= 1e+120)
        		tmp = 120.0 * a;
        	else
        		tmp = x / (-0.016666666666666666 * (t - z));
        	end
        	tmp_2 = tmp;
        end
        
        code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e+240], N[(N[(N[(x - y), $MachinePrecision] / z), $MachinePrecision] * 60.0), $MachinePrecision], If[LessEqual[t$95$1, -1e+78], N[(N[(-60.0 / N[(z - t), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], If[LessEqual[t$95$1, 1e+120], N[(120.0 * a), $MachinePrecision], N[(x / N[(-0.016666666666666666 * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
        \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+240}:\\
        \;\;\;\;\frac{x - y}{z} \cdot 60\\
        
        \mathbf{elif}\;t\_1 \leq -1 \cdot 10^{+78}:\\
        \;\;\;\;\frac{-60}{z - t} \cdot y\\
        
        \mathbf{elif}\;t\_1 \leq 10^{+120}:\\
        \;\;\;\;120 \cdot a\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 4 regimes
        2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -1.00000000000000001e240

          1. Initial program 95.4%

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

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

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

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

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

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

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

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

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

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

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

              \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
            11. lower--.f6492.2

              \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
          5. Applied rewrites92.2%

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

            \[\leadsto 60 \cdot \color{blue}{\frac{x - y}{z}} \]
          7. Step-by-step derivation
            1. Applied rewrites82.9%

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

            if -1.00000000000000001e240 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -1.00000000000000001e78

            1. Initial program 99.6%

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

              \[\leadsto \color{blue}{-60 \cdot \frac{y}{z - t}} \]
            4. Step-by-step derivation
              1. metadata-evalN/A

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

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

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

                \[\leadsto \color{blue}{\mathsf{neg}\left(60 \cdot \left(\frac{1}{z - t} \cdot y\right)\right)} \]
              5. associate-*l*N/A

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

                \[\leadsto \color{blue}{\left(\mathsf{neg}\left(60 \cdot \frac{1}{z - t}\right)\right) \cdot y} \]
              7. lower-*.f64N/A

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

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

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

                \[\leadsto \color{blue}{\frac{\mathsf{neg}\left(60\right)}{z - t}} \cdot y \]
              11. metadata-evalN/A

                \[\leadsto \frac{\color{blue}{-60}}{z - t} \cdot y \]
              12. lower-/.f64N/A

                \[\leadsto \color{blue}{\frac{-60}{z - t}} \cdot y \]
              13. lower--.f6463.2

                \[\leadsto \frac{-60}{\color{blue}{z - t}} \cdot y \]
            5. Applied rewrites63.2%

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

            if -1.00000000000000001e78 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 9.9999999999999998e119

            1. Initial program 99.8%

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

              \[\leadsto \color{blue}{120 \cdot a} \]
            4. Step-by-step derivation
              1. *-commutativeN/A

                \[\leadsto \color{blue}{a \cdot 120} \]
              2. lower-*.f6466.7

                \[\leadsto \color{blue}{a \cdot 120} \]
            5. Applied rewrites66.7%

              \[\leadsto \color{blue}{a \cdot 120} \]

            if 9.9999999999999998e119 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

            1. Initial program 97.2%

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

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

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

                \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
              4. lower-fma.f6497.2

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

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

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
              7. *-commutativeN/A

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

                \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
              9. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
              10. lower-*.f64N/A

                \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
              11. frac-2negN/A

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

                \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
              13. metadata-evalN/A

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
              14. neg-sub0N/A

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
              15. lift--.f64N/A

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
              16. sub-negN/A

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
              17. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
              18. associate--r+N/A

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
              19. neg-sub0N/A

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

                \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
              21. lower--.f6499.7

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

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

              \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
            6. Step-by-step derivation
              1. associate-*r/N/A

                \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
              2. remove-double-negN/A

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

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

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

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

                \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
              7. mul-1-negN/A

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

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

                \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
              10. lower-*.f64N/A

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

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

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

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

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

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

                \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
              17. lower--.f6458.9

                \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
            7. Applied rewrites58.9%

              \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
            8. Step-by-step derivation
              1. Applied rewrites61.4%

                \[\leadsto \frac{x}{\color{blue}{\left(t - z\right) \cdot -0.016666666666666666}} \]
            9. Recombined 4 regimes into one program.
            10. Final simplification66.8%

              \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq -1 \cdot 10^{+240}:\\ \;\;\;\;\frac{x - y}{z} \cdot 60\\ \mathbf{elif}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq -1 \cdot 10^{+78}:\\ \;\;\;\;\frac{-60}{z - t} \cdot y\\ \mathbf{elif}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \end{array} \]
            11. Add Preprocessing

            Alternative 4: 83.0% accurate, 0.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+78}:\\ \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\ \mathbf{elif}\;t\_1 \leq 10^{+37}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, 60 \cdot \frac{x}{z - t}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x - y}{0.016666666666666666 \cdot \left(z - t\right)}\\ \end{array} \end{array} \]
            (FPCore (x y z t a)
             :precision binary64
             (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
               (if (<= t_1 -1e+78)
                 (* (/ 60.0 (- z t)) (- x y))
                 (if (<= t_1 1e+37)
                   (fma a 120.0 (* 60.0 (/ x (- z t))))
                   (/ (- x y) (* 0.016666666666666666 (- z t)))))))
            double code(double x, double y, double z, double t, double a) {
            	double t_1 = (60.0 * (x - y)) / (z - t);
            	double tmp;
            	if (t_1 <= -1e+78) {
            		tmp = (60.0 / (z - t)) * (x - y);
            	} else if (t_1 <= 1e+37) {
            		tmp = fma(a, 120.0, (60.0 * (x / (z - t))));
            	} else {
            		tmp = (x - y) / (0.016666666666666666 * (z - t));
            	}
            	return tmp;
            }
            
            function code(x, y, z, t, a)
            	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
            	tmp = 0.0
            	if (t_1 <= -1e+78)
            		tmp = Float64(Float64(60.0 / Float64(z - t)) * Float64(x - y));
            	elseif (t_1 <= 1e+37)
            		tmp = fma(a, 120.0, Float64(60.0 * Float64(x / Float64(z - t))));
            	else
            		tmp = Float64(Float64(x - y) / Float64(0.016666666666666666 * Float64(z - t)));
            	end
            	return tmp
            end
            
            code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e+78], N[(N[(60.0 / N[(z - t), $MachinePrecision]), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 1e+37], N[(a * 120.0 + N[(60.0 * N[(x / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x - y), $MachinePrecision] / N[(0.016666666666666666 * N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
            \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+78}:\\
            \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\
            
            \mathbf{elif}\;t\_1 \leq 10^{+37}:\\
            \;\;\;\;\mathsf{fma}\left(a, 120, 60 \cdot \frac{x}{z - t}\right)\\
            
            \mathbf{else}:\\
            \;\;\;\;\frac{x - y}{0.016666666666666666 \cdot \left(z - t\right)}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -1.00000000000000001e78

              1. Initial program 97.8%

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

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

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

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

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

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

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

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

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

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

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

                  \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                11. lower--.f6490.8

                  \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
              5. Applied rewrites90.8%

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

              if -1.00000000000000001e78 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 9.99999999999999954e36

              1. Initial program 99.8%

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

                \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
              4. Step-by-step derivation
                1. lower-*.f6479.8

                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
              5. Applied rewrites79.8%

                \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
              6. Step-by-step derivation
                1. lift-+.f64N/A

                  \[\leadsto \color{blue}{\frac{-60 \cdot y}{z - t} + a \cdot 120} \]
                2. +-commutativeN/A

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

                  \[\leadsto \color{blue}{a \cdot 120} + \frac{-60 \cdot y}{z - t} \]
                4. lower-fma.f6479.9

                  \[\leadsto \color{blue}{\mathsf{fma}\left(a, 120, \frac{-60 \cdot y}{z - t}\right)} \]
              7. Applied rewrites79.9%

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

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

                  \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t} \cdot 60}\right) \]
                2. lower-*.f64N/A

                  \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t} \cdot 60}\right) \]
                3. lower-/.f64N/A

                  \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t}} \cdot 60\right) \]
                4. lower--.f6489.5

                  \[\leadsto \mathsf{fma}\left(a, 120, \frac{x}{\color{blue}{z - t}} \cdot 60\right) \]
              10. Applied rewrites89.5%

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

              if 9.99999999999999954e36 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

              1. Initial program 97.9%

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

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

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

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

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

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

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

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

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

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

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

                  \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                11. lower--.f6483.9

                  \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
              5. Applied rewrites83.9%

                \[\leadsto \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}} \]
              6. Step-by-step derivation
                1. Applied rewrites83.9%

                  \[\leadsto \frac{x - y}{\color{blue}{\left(z - t\right) \cdot 0.016666666666666666}} \]
              7. Recombined 3 regimes into one program.
              8. Final simplification88.6%

                \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq -1 \cdot 10^{+78}:\\ \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\ \mathbf{elif}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq 10^{+37}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, 60 \cdot \frac{x}{z - t}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x - y}{0.016666666666666666 \cdot \left(z - t\right)}\\ \end{array} \]
              9. Add Preprocessing

              Alternative 5: 74.4% accurate, 0.4× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -5 \cdot 10^{-39} \lor \neg \left(t\_1 \leq 2 \cdot 10^{-15}\right):\\ \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\ \mathbf{else}:\\ \;\;\;\;120 \cdot a\\ \end{array} \end{array} \]
              (FPCore (x y z t a)
               :precision binary64
               (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
                 (if (or (<= t_1 -5e-39) (not (<= t_1 2e-15)))
                   (* (/ 60.0 (- z t)) (- x y))
                   (* 120.0 a))))
              double code(double x, double y, double z, double t, double a) {
              	double t_1 = (60.0 * (x - y)) / (z - t);
              	double tmp;
              	if ((t_1 <= -5e-39) || !(t_1 <= 2e-15)) {
              		tmp = (60.0 / (z - t)) * (x - y);
              	} else {
              		tmp = 120.0 * a;
              	}
              	return tmp;
              }
              
              real(8) function code(x, y, z, t, a)
                  real(8), intent (in) :: x
                  real(8), intent (in) :: y
                  real(8), intent (in) :: z
                  real(8), intent (in) :: t
                  real(8), intent (in) :: a
                  real(8) :: t_1
                  real(8) :: tmp
                  t_1 = (60.0d0 * (x - y)) / (z - t)
                  if ((t_1 <= (-5d-39)) .or. (.not. (t_1 <= 2d-15))) then
                      tmp = (60.0d0 / (z - t)) * (x - y)
                  else
                      tmp = 120.0d0 * a
                  end if
                  code = tmp
              end function
              
              public static double code(double x, double y, double z, double t, double a) {
              	double t_1 = (60.0 * (x - y)) / (z - t);
              	double tmp;
              	if ((t_1 <= -5e-39) || !(t_1 <= 2e-15)) {
              		tmp = (60.0 / (z - t)) * (x - y);
              	} else {
              		tmp = 120.0 * a;
              	}
              	return tmp;
              }
              
              def code(x, y, z, t, a):
              	t_1 = (60.0 * (x - y)) / (z - t)
              	tmp = 0
              	if (t_1 <= -5e-39) or not (t_1 <= 2e-15):
              		tmp = (60.0 / (z - t)) * (x - y)
              	else:
              		tmp = 120.0 * a
              	return tmp
              
              function code(x, y, z, t, a)
              	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
              	tmp = 0.0
              	if ((t_1 <= -5e-39) || !(t_1 <= 2e-15))
              		tmp = Float64(Float64(60.0 / Float64(z - t)) * Float64(x - y));
              	else
              		tmp = Float64(120.0 * a);
              	end
              	return tmp
              end
              
              function tmp_2 = code(x, y, z, t, a)
              	t_1 = (60.0 * (x - y)) / (z - t);
              	tmp = 0.0;
              	if ((t_1 <= -5e-39) || ~((t_1 <= 2e-15)))
              		tmp = (60.0 / (z - t)) * (x - y);
              	else
              		tmp = 120.0 * a;
              	end
              	tmp_2 = tmp;
              end
              
              code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -5e-39], N[Not[LessEqual[t$95$1, 2e-15]], $MachinePrecision]], N[(N[(60.0 / N[(z - t), $MachinePrecision]), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision], N[(120.0 * a), $MachinePrecision]]]
              
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
              \mathbf{if}\;t\_1 \leq -5 \cdot 10^{-39} \lor \neg \left(t\_1 \leq 2 \cdot 10^{-15}\right):\\
              \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\
              
              \mathbf{else}:\\
              \;\;\;\;120 \cdot a\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 2 regimes
              2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -4.9999999999999998e-39 or 2.0000000000000002e-15 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

                1. Initial program 98.5%

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

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

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

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

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

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

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

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

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

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

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

                    \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                  11. lower--.f6476.9

                    \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
                5. Applied rewrites76.9%

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

                if -4.9999999999999998e-39 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 2.0000000000000002e-15

                1. Initial program 99.9%

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

                  \[\leadsto \color{blue}{120 \cdot a} \]
                4. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto \color{blue}{a \cdot 120} \]
                  2. lower-*.f6481.8

                    \[\leadsto \color{blue}{a \cdot 120} \]
                5. Applied rewrites81.8%

                  \[\leadsto \color{blue}{a \cdot 120} \]
              3. Recombined 2 regimes into one program.
              4. Final simplification78.9%

                \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{60 \cdot \left(x - y\right)}{z - t} \leq -5 \cdot 10^{-39} \lor \neg \left(\frac{60 \cdot \left(x - y\right)}{z - t} \leq 2 \cdot 10^{-15}\right):\\ \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\ \mathbf{else}:\\ \;\;\;\;120 \cdot a\\ \end{array} \]
              5. Add Preprocessing

              Alternative 6: 59.8% accurate, 0.4× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+98}:\\ \;\;\;\;\frac{x - y}{z} \cdot 60\\ \mathbf{elif}\;t\_1 \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \end{array} \end{array} \]
              (FPCore (x y z t a)
               :precision binary64
               (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
                 (if (<= t_1 -1e+98)
                   (* (/ (- x y) z) 60.0)
                   (if (<= t_1 1e+120)
                     (* 120.0 a)
                     (/ x (* -0.016666666666666666 (- t z)))))))
              double code(double x, double y, double z, double t, double a) {
              	double t_1 = (60.0 * (x - y)) / (z - t);
              	double tmp;
              	if (t_1 <= -1e+98) {
              		tmp = ((x - y) / z) * 60.0;
              	} else if (t_1 <= 1e+120) {
              		tmp = 120.0 * a;
              	} else {
              		tmp = x / (-0.016666666666666666 * (t - z));
              	}
              	return tmp;
              }
              
              real(8) function code(x, y, z, t, a)
                  real(8), intent (in) :: x
                  real(8), intent (in) :: y
                  real(8), intent (in) :: z
                  real(8), intent (in) :: t
                  real(8), intent (in) :: a
                  real(8) :: t_1
                  real(8) :: tmp
                  t_1 = (60.0d0 * (x - y)) / (z - t)
                  if (t_1 <= (-1d+98)) then
                      tmp = ((x - y) / z) * 60.0d0
                  else if (t_1 <= 1d+120) then
                      tmp = 120.0d0 * a
                  else
                      tmp = x / ((-0.016666666666666666d0) * (t - z))
                  end if
                  code = tmp
              end function
              
              public static double code(double x, double y, double z, double t, double a) {
              	double t_1 = (60.0 * (x - y)) / (z - t);
              	double tmp;
              	if (t_1 <= -1e+98) {
              		tmp = ((x - y) / z) * 60.0;
              	} else if (t_1 <= 1e+120) {
              		tmp = 120.0 * a;
              	} else {
              		tmp = x / (-0.016666666666666666 * (t - z));
              	}
              	return tmp;
              }
              
              def code(x, y, z, t, a):
              	t_1 = (60.0 * (x - y)) / (z - t)
              	tmp = 0
              	if t_1 <= -1e+98:
              		tmp = ((x - y) / z) * 60.0
              	elif t_1 <= 1e+120:
              		tmp = 120.0 * a
              	else:
              		tmp = x / (-0.016666666666666666 * (t - z))
              	return tmp
              
              function code(x, y, z, t, a)
              	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
              	tmp = 0.0
              	if (t_1 <= -1e+98)
              		tmp = Float64(Float64(Float64(x - y) / z) * 60.0);
              	elseif (t_1 <= 1e+120)
              		tmp = Float64(120.0 * a);
              	else
              		tmp = Float64(x / Float64(-0.016666666666666666 * Float64(t - z)));
              	end
              	return tmp
              end
              
              function tmp_2 = code(x, y, z, t, a)
              	t_1 = (60.0 * (x - y)) / (z - t);
              	tmp = 0.0;
              	if (t_1 <= -1e+98)
              		tmp = ((x - y) / z) * 60.0;
              	elseif (t_1 <= 1e+120)
              		tmp = 120.0 * a;
              	else
              		tmp = x / (-0.016666666666666666 * (t - z));
              	end
              	tmp_2 = tmp;
              end
              
              code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e+98], N[(N[(N[(x - y), $MachinePrecision] / z), $MachinePrecision] * 60.0), $MachinePrecision], If[LessEqual[t$95$1, 1e+120], N[(120.0 * a), $MachinePrecision], N[(x / N[(-0.016666666666666666 * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
              
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
              \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+98}:\\
              \;\;\;\;\frac{x - y}{z} \cdot 60\\
              
              \mathbf{elif}\;t\_1 \leq 10^{+120}:\\
              \;\;\;\;120 \cdot a\\
              
              \mathbf{else}:\\
              \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 3 regimes
              2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -9.99999999999999998e97

                1. Initial program 97.7%

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

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

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

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

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

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

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

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

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

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

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

                    \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                  11. lower--.f6490.4

                    \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
                5. Applied rewrites90.4%

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

                  \[\leadsto 60 \cdot \color{blue}{\frac{x - y}{z}} \]
                7. Step-by-step derivation
                  1. Applied rewrites65.2%

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

                  if -9.99999999999999998e97 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 9.9999999999999998e119

                  1. Initial program 99.8%

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

                    \[\leadsto \color{blue}{120 \cdot a} \]
                  4. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \color{blue}{a \cdot 120} \]
                    2. lower-*.f6466.0

                      \[\leadsto \color{blue}{a \cdot 120} \]
                  5. Applied rewrites66.0%

                    \[\leadsto \color{blue}{a \cdot 120} \]

                  if 9.9999999999999998e119 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

                  1. Initial program 97.2%

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

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

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

                      \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                    4. lower-fma.f6497.2

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

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

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                    7. *-commutativeN/A

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

                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                    9. *-commutativeN/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                    10. lower-*.f64N/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                    11. frac-2negN/A

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

                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                    13. metadata-evalN/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                    14. neg-sub0N/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                    15. lift--.f64N/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                    16. sub-negN/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                    17. +-commutativeN/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                    18. associate--r+N/A

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                    19. neg-sub0N/A

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

                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                    21. lower--.f6499.7

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

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

                    \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                  6. Step-by-step derivation
                    1. associate-*r/N/A

                      \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                    2. remove-double-negN/A

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

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

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

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

                      \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                    7. mul-1-negN/A

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

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

                      \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                    10. lower-*.f64N/A

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

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

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

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

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

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

                      \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                    17. lower--.f6458.9

                      \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                  7. Applied rewrites58.9%

                    \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                  8. Step-by-step derivation
                    1. Applied rewrites61.4%

                      \[\leadsto \frac{x}{\color{blue}{\left(t - z\right) \cdot -0.016666666666666666}} \]
                  9. Recombined 3 regimes into one program.
                  10. Final simplification65.2%

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

                  Alternative 7: 53.7% accurate, 0.4× speedup?

                  \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+98}:\\ \;\;\;\;\frac{y}{z} \cdot -60\\ \mathbf{elif}\;t\_1 \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{-60}{-z} \cdot x\\ \end{array} \end{array} \]
                  (FPCore (x y z t a)
                   :precision binary64
                   (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
                     (if (<= t_1 -1e+98)
                       (* (/ y z) -60.0)
                       (if (<= t_1 1e+120) (* 120.0 a) (* (/ -60.0 (- z)) x)))))
                  double code(double x, double y, double z, double t, double a) {
                  	double t_1 = (60.0 * (x - y)) / (z - t);
                  	double tmp;
                  	if (t_1 <= -1e+98) {
                  		tmp = (y / z) * -60.0;
                  	} else if (t_1 <= 1e+120) {
                  		tmp = 120.0 * a;
                  	} else {
                  		tmp = (-60.0 / -z) * x;
                  	}
                  	return tmp;
                  }
                  
                  real(8) function code(x, y, z, t, a)
                      real(8), intent (in) :: x
                      real(8), intent (in) :: y
                      real(8), intent (in) :: z
                      real(8), intent (in) :: t
                      real(8), intent (in) :: a
                      real(8) :: t_1
                      real(8) :: tmp
                      t_1 = (60.0d0 * (x - y)) / (z - t)
                      if (t_1 <= (-1d+98)) then
                          tmp = (y / z) * (-60.0d0)
                      else if (t_1 <= 1d+120) then
                          tmp = 120.0d0 * a
                      else
                          tmp = ((-60.0d0) / -z) * x
                      end if
                      code = tmp
                  end function
                  
                  public static double code(double x, double y, double z, double t, double a) {
                  	double t_1 = (60.0 * (x - y)) / (z - t);
                  	double tmp;
                  	if (t_1 <= -1e+98) {
                  		tmp = (y / z) * -60.0;
                  	} else if (t_1 <= 1e+120) {
                  		tmp = 120.0 * a;
                  	} else {
                  		tmp = (-60.0 / -z) * x;
                  	}
                  	return tmp;
                  }
                  
                  def code(x, y, z, t, a):
                  	t_1 = (60.0 * (x - y)) / (z - t)
                  	tmp = 0
                  	if t_1 <= -1e+98:
                  		tmp = (y / z) * -60.0
                  	elif t_1 <= 1e+120:
                  		tmp = 120.0 * a
                  	else:
                  		tmp = (-60.0 / -z) * x
                  	return tmp
                  
                  function code(x, y, z, t, a)
                  	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
                  	tmp = 0.0
                  	if (t_1 <= -1e+98)
                  		tmp = Float64(Float64(y / z) * -60.0);
                  	elseif (t_1 <= 1e+120)
                  		tmp = Float64(120.0 * a);
                  	else
                  		tmp = Float64(Float64(-60.0 / Float64(-z)) * x);
                  	end
                  	return tmp
                  end
                  
                  function tmp_2 = code(x, y, z, t, a)
                  	t_1 = (60.0 * (x - y)) / (z - t);
                  	tmp = 0.0;
                  	if (t_1 <= -1e+98)
                  		tmp = (y / z) * -60.0;
                  	elseif (t_1 <= 1e+120)
                  		tmp = 120.0 * a;
                  	else
                  		tmp = (-60.0 / -z) * x;
                  	end
                  	tmp_2 = tmp;
                  end
                  
                  code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e+98], N[(N[(y / z), $MachinePrecision] * -60.0), $MachinePrecision], If[LessEqual[t$95$1, 1e+120], N[(120.0 * a), $MachinePrecision], N[(N[(-60.0 / (-z)), $MachinePrecision] * x), $MachinePrecision]]]]
                  
                  \begin{array}{l}
                  
                  \\
                  \begin{array}{l}
                  t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
                  \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+98}:\\
                  \;\;\;\;\frac{y}{z} \cdot -60\\
                  
                  \mathbf{elif}\;t\_1 \leq 10^{+120}:\\
                  \;\;\;\;120 \cdot a\\
                  
                  \mathbf{else}:\\
                  \;\;\;\;\frac{-60}{-z} \cdot x\\
                  
                  
                  \end{array}
                  \end{array}
                  
                  Derivation
                  1. Split input into 3 regimes
                  2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -9.99999999999999998e97

                    1. Initial program 97.7%

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

                      \[\leadsto \color{blue}{120 \cdot a} \]
                    4. Step-by-step derivation
                      1. *-commutativeN/A

                        \[\leadsto \color{blue}{a \cdot 120} \]
                      2. lower-*.f6411.7

                        \[\leadsto \color{blue}{a \cdot 120} \]
                    5. Applied rewrites11.7%

                      \[\leadsto \color{blue}{a \cdot 120} \]
                    6. Taylor expanded in y around inf

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

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

                        \[\leadsto \frac{\color{blue}{y \cdot -60}}{z - t} \]
                      3. associate-/l*N/A

                        \[\leadsto \color{blue}{y \cdot \frac{-60}{z - t}} \]
                      4. metadata-evalN/A

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

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

                        \[\leadsto y \cdot \color{blue}{\frac{60}{\mathsf{neg}\left(\left(z - t\right)\right)}} \]
                      7. metadata-evalN/A

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

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

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

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

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

                        \[\leadsto y \cdot \frac{60 \cdot 1}{\color{blue}{t} - z} \]
                      13. associate-*r/N/A

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

                        \[\leadsto \color{blue}{\left(60 \cdot \frac{1}{t - z}\right) \cdot y} \]
                      15. associate-*r/N/A

                        \[\leadsto \color{blue}{\frac{60 \cdot 1}{t - z}} \cdot y \]
                      16. metadata-evalN/A

                        \[\leadsto \frac{\color{blue}{60}}{t - z} \cdot y \]
                      17. remove-double-negN/A

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

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

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

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

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

                        \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{60}{z - t}\right)\right)} \cdot y \]
                      23. metadata-evalN/A

                        \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{60 \cdot 1}}{z - t}\right)\right) \cdot y \]
                      24. associate-*r/N/A

                        \[\leadsto \left(\mathsf{neg}\left(\color{blue}{60 \cdot \frac{1}{z - t}}\right)\right) \cdot y \]
                    8. Applied rewrites55.3%

                      \[\leadsto \color{blue}{\frac{60}{t - z} \cdot y} \]
                    9. Taylor expanded in t around 0

                      \[\leadsto -60 \cdot \color{blue}{\frac{y}{z}} \]
                    10. Step-by-step derivation
                      1. Applied rewrites42.4%

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

                      if -9.99999999999999998e97 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 9.9999999999999998e119

                      1. Initial program 99.8%

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

                        \[\leadsto \color{blue}{120 \cdot a} \]
                      4. Step-by-step derivation
                        1. *-commutativeN/A

                          \[\leadsto \color{blue}{a \cdot 120} \]
                        2. lower-*.f6466.0

                          \[\leadsto \color{blue}{a \cdot 120} \]
                      5. Applied rewrites66.0%

                        \[\leadsto \color{blue}{a \cdot 120} \]

                      if 9.9999999999999998e119 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

                      1. Initial program 97.2%

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

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

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

                          \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                        4. lower-fma.f6497.2

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

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

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                        7. *-commutativeN/A

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

                          \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                        9. *-commutativeN/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                        10. lower-*.f64N/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                        11. frac-2negN/A

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

                          \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                        13. metadata-evalN/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                        14. neg-sub0N/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                        15. lift--.f64N/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                        16. sub-negN/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                        17. +-commutativeN/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                        18. associate--r+N/A

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                        19. neg-sub0N/A

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

                          \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                        21. lower--.f6499.7

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

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

                        \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                      6. Step-by-step derivation
                        1. associate-*r/N/A

                          \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                        2. remove-double-negN/A

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

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

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

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

                          \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                        7. mul-1-negN/A

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

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

                          \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                        10. lower-*.f64N/A

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

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

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

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

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

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

                          \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                        17. lower--.f6458.9

                          \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                      7. Applied rewrites58.9%

                        \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                      8. Taylor expanded in t around 0

                        \[\leadsto \frac{x \cdot -60}{-1 \cdot \color{blue}{z}} \]
                      9. Step-by-step derivation
                        1. Applied rewrites36.1%

                          \[\leadsto \frac{x \cdot -60}{-z} \]
                        2. Step-by-step derivation
                          1. Applied rewrites38.6%

                            \[\leadsto \frac{-60}{-z} \cdot \color{blue}{x} \]
                        3. Recombined 3 regimes into one program.
                        4. Final simplification57.8%

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

                        Alternative 8: 53.7% accurate, 0.4× speedup?

                        \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\ \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+98}:\\ \;\;\;\;\frac{y}{z} \cdot -60\\ \mathbf{elif}\;t\_1 \leq 10^{+120}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{z} \cdot 60\\ \end{array} \end{array} \]
                        (FPCore (x y z t a)
                         :precision binary64
                         (let* ((t_1 (/ (* 60.0 (- x y)) (- z t))))
                           (if (<= t_1 -1e+98)
                             (* (/ y z) -60.0)
                             (if (<= t_1 1e+120) (* 120.0 a) (* (/ x z) 60.0)))))
                        double code(double x, double y, double z, double t, double a) {
                        	double t_1 = (60.0 * (x - y)) / (z - t);
                        	double tmp;
                        	if (t_1 <= -1e+98) {
                        		tmp = (y / z) * -60.0;
                        	} else if (t_1 <= 1e+120) {
                        		tmp = 120.0 * a;
                        	} else {
                        		tmp = (x / z) * 60.0;
                        	}
                        	return tmp;
                        }
                        
                        real(8) function code(x, y, z, t, a)
                            real(8), intent (in) :: x
                            real(8), intent (in) :: y
                            real(8), intent (in) :: z
                            real(8), intent (in) :: t
                            real(8), intent (in) :: a
                            real(8) :: t_1
                            real(8) :: tmp
                            t_1 = (60.0d0 * (x - y)) / (z - t)
                            if (t_1 <= (-1d+98)) then
                                tmp = (y / z) * (-60.0d0)
                            else if (t_1 <= 1d+120) then
                                tmp = 120.0d0 * a
                            else
                                tmp = (x / z) * 60.0d0
                            end if
                            code = tmp
                        end function
                        
                        public static double code(double x, double y, double z, double t, double a) {
                        	double t_1 = (60.0 * (x - y)) / (z - t);
                        	double tmp;
                        	if (t_1 <= -1e+98) {
                        		tmp = (y / z) * -60.0;
                        	} else if (t_1 <= 1e+120) {
                        		tmp = 120.0 * a;
                        	} else {
                        		tmp = (x / z) * 60.0;
                        	}
                        	return tmp;
                        }
                        
                        def code(x, y, z, t, a):
                        	t_1 = (60.0 * (x - y)) / (z - t)
                        	tmp = 0
                        	if t_1 <= -1e+98:
                        		tmp = (y / z) * -60.0
                        	elif t_1 <= 1e+120:
                        		tmp = 120.0 * a
                        	else:
                        		tmp = (x / z) * 60.0
                        	return tmp
                        
                        function code(x, y, z, t, a)
                        	t_1 = Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t))
                        	tmp = 0.0
                        	if (t_1 <= -1e+98)
                        		tmp = Float64(Float64(y / z) * -60.0);
                        	elseif (t_1 <= 1e+120)
                        		tmp = Float64(120.0 * a);
                        	else
                        		tmp = Float64(Float64(x / z) * 60.0);
                        	end
                        	return tmp
                        end
                        
                        function tmp_2 = code(x, y, z, t, a)
                        	t_1 = (60.0 * (x - y)) / (z - t);
                        	tmp = 0.0;
                        	if (t_1 <= -1e+98)
                        		tmp = (y / z) * -60.0;
                        	elseif (t_1 <= 1e+120)
                        		tmp = 120.0 * a;
                        	else
                        		tmp = (x / z) * 60.0;
                        	end
                        	tmp_2 = tmp;
                        end
                        
                        code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e+98], N[(N[(y / z), $MachinePrecision] * -60.0), $MachinePrecision], If[LessEqual[t$95$1, 1e+120], N[(120.0 * a), $MachinePrecision], N[(N[(x / z), $MachinePrecision] * 60.0), $MachinePrecision]]]]
                        
                        \begin{array}{l}
                        
                        \\
                        \begin{array}{l}
                        t_1 := \frac{60 \cdot \left(x - y\right)}{z - t}\\
                        \mathbf{if}\;t\_1 \leq -1 \cdot 10^{+98}:\\
                        \;\;\;\;\frac{y}{z} \cdot -60\\
                        
                        \mathbf{elif}\;t\_1 \leq 10^{+120}:\\
                        \;\;\;\;120 \cdot a\\
                        
                        \mathbf{else}:\\
                        \;\;\;\;\frac{x}{z} \cdot 60\\
                        
                        
                        \end{array}
                        \end{array}
                        
                        Derivation
                        1. Split input into 3 regimes
                        2. if (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < -9.99999999999999998e97

                          1. Initial program 97.7%

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

                            \[\leadsto \color{blue}{120 \cdot a} \]
                          4. Step-by-step derivation
                            1. *-commutativeN/A

                              \[\leadsto \color{blue}{a \cdot 120} \]
                            2. lower-*.f6411.7

                              \[\leadsto \color{blue}{a \cdot 120} \]
                          5. Applied rewrites11.7%

                            \[\leadsto \color{blue}{a \cdot 120} \]
                          6. Taylor expanded in y around inf

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

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

                              \[\leadsto \frac{\color{blue}{y \cdot -60}}{z - t} \]
                            3. associate-/l*N/A

                              \[\leadsto \color{blue}{y \cdot \frac{-60}{z - t}} \]
                            4. metadata-evalN/A

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

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

                              \[\leadsto y \cdot \color{blue}{\frac{60}{\mathsf{neg}\left(\left(z - t\right)\right)}} \]
                            7. metadata-evalN/A

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

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

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

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

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

                              \[\leadsto y \cdot \frac{60 \cdot 1}{\color{blue}{t} - z} \]
                            13. associate-*r/N/A

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

                              \[\leadsto \color{blue}{\left(60 \cdot \frac{1}{t - z}\right) \cdot y} \]
                            15. associate-*r/N/A

                              \[\leadsto \color{blue}{\frac{60 \cdot 1}{t - z}} \cdot y \]
                            16. metadata-evalN/A

                              \[\leadsto \frac{\color{blue}{60}}{t - z} \cdot y \]
                            17. remove-double-negN/A

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

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

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

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

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

                              \[\leadsto \color{blue}{\left(\mathsf{neg}\left(\frac{60}{z - t}\right)\right)} \cdot y \]
                            23. metadata-evalN/A

                              \[\leadsto \left(\mathsf{neg}\left(\frac{\color{blue}{60 \cdot 1}}{z - t}\right)\right) \cdot y \]
                            24. associate-*r/N/A

                              \[\leadsto \left(\mathsf{neg}\left(\color{blue}{60 \cdot \frac{1}{z - t}}\right)\right) \cdot y \]
                          8. Applied rewrites55.3%

                            \[\leadsto \color{blue}{\frac{60}{t - z} \cdot y} \]
                          9. Taylor expanded in t around 0

                            \[\leadsto -60 \cdot \color{blue}{\frac{y}{z}} \]
                          10. Step-by-step derivation
                            1. Applied rewrites42.4%

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

                            if -9.99999999999999998e97 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t)) < 9.9999999999999998e119

                            1. Initial program 99.8%

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

                              \[\leadsto \color{blue}{120 \cdot a} \]
                            4. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \color{blue}{a \cdot 120} \]
                              2. lower-*.f6466.0

                                \[\leadsto \color{blue}{a \cdot 120} \]
                            5. Applied rewrites66.0%

                              \[\leadsto \color{blue}{a \cdot 120} \]

                            if 9.9999999999999998e119 < (/.f64 (*.f64 #s(literal 60 binary64) (-.f64 x y)) (-.f64 z t))

                            1. Initial program 97.2%

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

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

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

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

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

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

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

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

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

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

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

                                \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                              11. lower--.f6491.0

                                \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
                            5. Applied rewrites91.0%

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

                              \[\leadsto 60 \cdot \color{blue}{\frac{x - y}{z}} \]
                            7. Step-by-step derivation
                              1. Applied rewrites57.5%

                                \[\leadsto \frac{x - y}{z} \cdot \color{blue}{60} \]
                              2. Taylor expanded in y around 0

                                \[\leadsto \frac{x}{z} \cdot 60 \]
                              3. Step-by-step derivation
                                1. Applied rewrites38.6%

                                  \[\leadsto \frac{x}{z} \cdot 60 \]
                              4. Recombined 3 regimes into one program.
                              5. Final simplification57.8%

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

                              Alternative 9: 89.1% accurate, 0.8× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -3 \cdot 10^{+38} \lor \neg \left(x \leq 5 \cdot 10^{+56}\right):\\ \;\;\;\;\mathsf{fma}\left(a, 120, 60 \cdot \frac{x}{z - t}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, \frac{y \cdot -60}{z - t}\right)\\ \end{array} \end{array} \]
                              (FPCore (x y z t a)
                               :precision binary64
                               (if (or (<= x -3e+38) (not (<= x 5e+56)))
                                 (fma a 120.0 (* 60.0 (/ x (- z t))))
                                 (fma a 120.0 (/ (* y -60.0) (- z t)))))
                              double code(double x, double y, double z, double t, double a) {
                              	double tmp;
                              	if ((x <= -3e+38) || !(x <= 5e+56)) {
                              		tmp = fma(a, 120.0, (60.0 * (x / (z - t))));
                              	} else {
                              		tmp = fma(a, 120.0, ((y * -60.0) / (z - t)));
                              	}
                              	return tmp;
                              }
                              
                              function code(x, y, z, t, a)
                              	tmp = 0.0
                              	if ((x <= -3e+38) || !(x <= 5e+56))
                              		tmp = fma(a, 120.0, Float64(60.0 * Float64(x / Float64(z - t))));
                              	else
                              		tmp = fma(a, 120.0, Float64(Float64(y * -60.0) / Float64(z - t)));
                              	end
                              	return tmp
                              end
                              
                              code[x_, y_, z_, t_, a_] := If[Or[LessEqual[x, -3e+38], N[Not[LessEqual[x, 5e+56]], $MachinePrecision]], N[(a * 120.0 + N[(60.0 * N[(x / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * 120.0 + N[(N[(y * -60.0), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              \mathbf{if}\;x \leq -3 \cdot 10^{+38} \lor \neg \left(x \leq 5 \cdot 10^{+56}\right):\\
                              \;\;\;\;\mathsf{fma}\left(a, 120, 60 \cdot \frac{x}{z - t}\right)\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;\mathsf{fma}\left(a, 120, \frac{y \cdot -60}{z - t}\right)\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if x < -3.0000000000000001e38 or 5.00000000000000024e56 < x

                                1. Initial program 98.9%

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

                                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                4. Step-by-step derivation
                                  1. lower-*.f6442.5

                                    \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                5. Applied rewrites42.5%

                                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                6. Step-by-step derivation
                                  1. lift-+.f64N/A

                                    \[\leadsto \color{blue}{\frac{-60 \cdot y}{z - t} + a \cdot 120} \]
                                  2. +-commutativeN/A

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

                                    \[\leadsto \color{blue}{a \cdot 120} + \frac{-60 \cdot y}{z - t} \]
                                  4. lower-fma.f6442.5

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(a, 120, \frac{-60 \cdot y}{z - t}\right)} \]
                                7. Applied rewrites42.5%

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

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t} \cdot 60}\right) \]
                                  2. lower-*.f64N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t} \cdot 60}\right) \]
                                  3. lower-/.f64N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t}} \cdot 60\right) \]
                                  4. lower--.f6490.5

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{x}{\color{blue}{z - t}} \cdot 60\right) \]
                                10. Applied rewrites90.5%

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

                                if -3.0000000000000001e38 < x < 5.00000000000000024e56

                                1. Initial program 99.2%

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

                                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                4. Step-by-step derivation
                                  1. lower-*.f6493.5

                                    \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                5. Applied rewrites93.5%

                                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                6. Step-by-step derivation
                                  1. lift-+.f64N/A

                                    \[\leadsto \color{blue}{\frac{-60 \cdot y}{z - t} + a \cdot 120} \]
                                  2. +-commutativeN/A

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

                                    \[\leadsto \color{blue}{a \cdot 120} + \frac{-60 \cdot y}{z - t} \]
                                  4. lower-fma.f6493.5

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(a, 120, \frac{-60 \cdot y}{z - t}\right)} \]
                                7. Applied rewrites93.5%

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

                                \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -3 \cdot 10^{+38} \lor \neg \left(x \leq 5 \cdot 10^{+56}\right):\\ \;\;\;\;\mathsf{fma}\left(a, 120, 60 \cdot \frac{x}{z - t}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, \frac{y \cdot -60}{z - t}\right)\\ \end{array} \]
                              5. Add Preprocessing

                              Alternative 10: 83.4% accurate, 0.8× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -1.3 \cdot 10^{-57} \lor \neg \left(t \leq 3 \cdot 10^{-66}\right):\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, \frac{x - y}{z} \cdot 60\right)\\ \end{array} \end{array} \]
                              (FPCore (x y z t a)
                               :precision binary64
                               (if (or (<= t -1.3e-57) (not (<= t 3e-66)))
                                 (fma (/ (- x y) t) -60.0 (* 120.0 a))
                                 (fma a 120.0 (* (/ (- x y) z) 60.0))))
                              double code(double x, double y, double z, double t, double a) {
                              	double tmp;
                              	if ((t <= -1.3e-57) || !(t <= 3e-66)) {
                              		tmp = fma(((x - y) / t), -60.0, (120.0 * a));
                              	} else {
                              		tmp = fma(a, 120.0, (((x - y) / z) * 60.0));
                              	}
                              	return tmp;
                              }
                              
                              function code(x, y, z, t, a)
                              	tmp = 0.0
                              	if ((t <= -1.3e-57) || !(t <= 3e-66))
                              		tmp = fma(Float64(Float64(x - y) / t), -60.0, Float64(120.0 * a));
                              	else
                              		tmp = fma(a, 120.0, Float64(Float64(Float64(x - y) / z) * 60.0));
                              	end
                              	return tmp
                              end
                              
                              code[x_, y_, z_, t_, a_] := If[Or[LessEqual[t, -1.3e-57], N[Not[LessEqual[t, 3e-66]], $MachinePrecision]], N[(N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision] * -60.0 + N[(120.0 * a), $MachinePrecision]), $MachinePrecision], N[(a * 120.0 + N[(N[(N[(x - y), $MachinePrecision] / z), $MachinePrecision] * 60.0), $MachinePrecision]), $MachinePrecision]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              \mathbf{if}\;t \leq -1.3 \cdot 10^{-57} \lor \neg \left(t \leq 3 \cdot 10^{-66}\right):\\
                              \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;\mathsf{fma}\left(a, 120, \frac{x - y}{z} \cdot 60\right)\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if t < -1.29999999999999993e-57 or 3.0000000000000002e-66 < t

                                1. Initial program 99.2%

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

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

                                    \[\leadsto \color{blue}{\frac{x - y}{t} \cdot -60} + 120 \cdot a \]
                                  2. lower-fma.f64N/A

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)} \]
                                  3. lower-/.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{x - y}{t}}, -60, 120 \cdot a\right) \]
                                  4. lower--.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{x - y}}{t}, -60, 120 \cdot a\right) \]
                                  5. *-commutativeN/A

                                    \[\leadsto \mathsf{fma}\left(\frac{x - y}{t}, -60, \color{blue}{a \cdot 120}\right) \]
                                  6. lower-*.f6487.8

                                    \[\leadsto \mathsf{fma}\left(\frac{x - y}{t}, -60, \color{blue}{a \cdot 120}\right) \]
                                5. Applied rewrites87.8%

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

                                if -1.29999999999999993e-57 < t < 3.0000000000000002e-66

                                1. Initial program 98.9%

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

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

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

                                    \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                                  4. lower-fma.f6499.0

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

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                                  7. *-commutativeN/A

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                                  9. *-commutativeN/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                  10. lower-*.f64N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                  11. frac-2negN/A

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                                  13. metadata-evalN/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                                  14. neg-sub0N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                  15. lift--.f64N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                  16. sub-negN/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                                  17. +-commutativeN/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                                  18. associate--r+N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                                  19. neg-sub0N/A

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                                  21. lower--.f6499.8

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

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

                                  \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{60 \cdot \frac{x - y}{z}}\right) \]
                                6. Step-by-step derivation
                                  1. *-commutativeN/A

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

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x - y}{z}} \cdot 60\right) \]
                                  4. lower--.f6485.4

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{x - y}}{z} \cdot 60\right) \]
                                7. Applied rewrites85.4%

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

                                \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.3 \cdot 10^{-57} \lor \neg \left(t \leq 3 \cdot 10^{-66}\right):\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, \frac{x - y}{z} \cdot 60\right)\\ \end{array} \]
                              5. Add Preprocessing

                              Alternative 11: 83.4% accurate, 0.8× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -1.3 \cdot 10^{-57} \lor \neg \left(t \leq 3 \cdot 10^{-66}\right):\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{z}, 60, 120 \cdot a\right)\\ \end{array} \end{array} \]
                              (FPCore (x y z t a)
                               :precision binary64
                               (if (or (<= t -1.3e-57) (not (<= t 3e-66)))
                                 (fma (/ (- x y) t) -60.0 (* 120.0 a))
                                 (fma (/ (- x y) z) 60.0 (* 120.0 a))))
                              double code(double x, double y, double z, double t, double a) {
                              	double tmp;
                              	if ((t <= -1.3e-57) || !(t <= 3e-66)) {
                              		tmp = fma(((x - y) / t), -60.0, (120.0 * a));
                              	} else {
                              		tmp = fma(((x - y) / z), 60.0, (120.0 * a));
                              	}
                              	return tmp;
                              }
                              
                              function code(x, y, z, t, a)
                              	tmp = 0.0
                              	if ((t <= -1.3e-57) || !(t <= 3e-66))
                              		tmp = fma(Float64(Float64(x - y) / t), -60.0, Float64(120.0 * a));
                              	else
                              		tmp = fma(Float64(Float64(x - y) / z), 60.0, Float64(120.0 * a));
                              	end
                              	return tmp
                              end
                              
                              code[x_, y_, z_, t_, a_] := If[Or[LessEqual[t, -1.3e-57], N[Not[LessEqual[t, 3e-66]], $MachinePrecision]], N[(N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision] * -60.0 + N[(120.0 * a), $MachinePrecision]), $MachinePrecision], N[(N[(N[(x - y), $MachinePrecision] / z), $MachinePrecision] * 60.0 + N[(120.0 * a), $MachinePrecision]), $MachinePrecision]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              \mathbf{if}\;t \leq -1.3 \cdot 10^{-57} \lor \neg \left(t \leq 3 \cdot 10^{-66}\right):\\
                              \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;\mathsf{fma}\left(\frac{x - y}{z}, 60, 120 \cdot a\right)\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if t < -1.29999999999999993e-57 or 3.0000000000000002e-66 < t

                                1. Initial program 99.2%

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

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

                                    \[\leadsto \color{blue}{\frac{x - y}{t} \cdot -60} + 120 \cdot a \]
                                  2. lower-fma.f64N/A

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)} \]
                                  3. lower-/.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{x - y}{t}}, -60, 120 \cdot a\right) \]
                                  4. lower--.f64N/A

                                    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{x - y}}{t}, -60, 120 \cdot a\right) \]
                                  5. *-commutativeN/A

                                    \[\leadsto \mathsf{fma}\left(\frac{x - y}{t}, -60, \color{blue}{a \cdot 120}\right) \]
                                  6. lower-*.f6487.8

                                    \[\leadsto \mathsf{fma}\left(\frac{x - y}{t}, -60, \color{blue}{a \cdot 120}\right) \]
                                5. Applied rewrites87.8%

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

                                if -1.29999999999999993e-57 < t < 3.0000000000000002e-66

                                1. Initial program 98.9%

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

                                  \[\leadsto \color{blue}{60 \cdot \frac{x - y}{z} + 120 \cdot a} \]
                                4. Step-by-step derivation
                                  1. *-commutativeN/A

                                    \[\leadsto \color{blue}{\frac{x - y}{z} \cdot 60} + 120 \cdot a \]
                                  2. lower-fma.f64N/A

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

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

                                    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{x - y}}{z}, 60, 120 \cdot a\right) \]
                                  5. *-commutativeN/A

                                    \[\leadsto \mathsf{fma}\left(\frac{x - y}{z}, 60, \color{blue}{a \cdot 120}\right) \]
                                  6. lower-*.f6485.4

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

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

                                \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.3 \cdot 10^{-57} \lor \neg \left(t \leq 3 \cdot 10^{-66}\right):\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{z}, 60, 120 \cdot a\right)\\ \end{array} \]
                              5. Add Preprocessing

                              Alternative 12: 70.8% accurate, 0.8× speedup?

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

                                1. Initial program 99.9%

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

                                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                4. Step-by-step derivation
                                  1. lower-*.f6477.3

                                    \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                5. Applied rewrites77.3%

                                  \[\leadsto \frac{\color{blue}{-60 \cdot y}}{z - t} + a \cdot 120 \]
                                6. Step-by-step derivation
                                  1. lift-+.f64N/A

                                    \[\leadsto \color{blue}{\frac{-60 \cdot y}{z - t} + a \cdot 120} \]
                                  2. +-commutativeN/A

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

                                    \[\leadsto \color{blue}{a \cdot 120} + \frac{-60 \cdot y}{z - t} \]
                                  4. lower-fma.f6477.3

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(a, 120, \frac{-60 \cdot y}{z - t}\right)} \]
                                7. Applied rewrites77.3%

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

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

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t} \cdot 60}\right) \]
                                  2. lower-*.f64N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t} \cdot 60}\right) \]
                                  3. lower-/.f64N/A

                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{x}{z - t}} \cdot 60\right) \]
                                  4. lower--.f6498.1

                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{x}{\color{blue}{z - t}} \cdot 60\right) \]
                                10. Applied rewrites98.1%

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

                                  \[\leadsto \mathsf{fma}\left(a, 120, -60 \cdot \color{blue}{\frac{x}{t}}\right) \]
                                12. Step-by-step derivation
                                  1. Applied rewrites91.4%

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

                                  if -1.22e39 < t < 4.2000000000000001e-66

                                  1. Initial program 98.4%

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

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

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

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

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

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

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

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

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

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

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

                                      \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                                    11. lower--.f6470.9

                                      \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
                                  5. Applied rewrites70.9%

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

                                  if 4.2000000000000001e-66 < t

                                  1. Initial program 99.8%

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

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

                                      \[\leadsto \color{blue}{\frac{x - y}{t} \cdot -60} + 120 \cdot a \]
                                    2. lower-fma.f64N/A

                                      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)} \]
                                    3. lower-/.f64N/A

                                      \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{x - y}{t}}, -60, 120 \cdot a\right) \]
                                    4. lower--.f64N/A

                                      \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{x - y}}{t}, -60, 120 \cdot a\right) \]
                                    5. *-commutativeN/A

                                      \[\leadsto \mathsf{fma}\left(\frac{x - y}{t}, -60, \color{blue}{a \cdot 120}\right) \]
                                    6. lower-*.f6493.8

                                      \[\leadsto \mathsf{fma}\left(\frac{x - y}{t}, -60, \color{blue}{a \cdot 120}\right) \]
                                  5. Applied rewrites93.8%

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{x - y}{t}, -60, a \cdot 120\right)} \]
                                13. Recombined 3 regimes into one program.
                                14. Final simplification80.9%

                                  \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.22 \cdot 10^{+39}:\\ \;\;\;\;\mathsf{fma}\left(a, 120, \frac{x}{t} \cdot -60\right)\\ \mathbf{elif}\;t \leq 4.2 \cdot 10^{-66}:\\ \;\;\;\;\frac{60}{z - t} \cdot \left(x - y\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x - y}{t}, -60, 120 \cdot a\right)\\ \end{array} \]
                                15. Add Preprocessing

                                Alternative 13: 57.5% accurate, 1.0× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -9 \cdot 10^{+93} \lor \neg \left(x \leq 3.6 \cdot 10^{+167}\right):\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \mathbf{else}:\\ \;\;\;\;120 \cdot a\\ \end{array} \end{array} \]
                                (FPCore (x y z t a)
                                 :precision binary64
                                 (if (or (<= x -9e+93) (not (<= x 3.6e+167)))
                                   (/ x (* -0.016666666666666666 (- t z)))
                                   (* 120.0 a)))
                                double code(double x, double y, double z, double t, double a) {
                                	double tmp;
                                	if ((x <= -9e+93) || !(x <= 3.6e+167)) {
                                		tmp = x / (-0.016666666666666666 * (t - z));
                                	} else {
                                		tmp = 120.0 * a;
                                	}
                                	return tmp;
                                }
                                
                                real(8) function code(x, y, z, t, a)
                                    real(8), intent (in) :: x
                                    real(8), intent (in) :: y
                                    real(8), intent (in) :: z
                                    real(8), intent (in) :: t
                                    real(8), intent (in) :: a
                                    real(8) :: tmp
                                    if ((x <= (-9d+93)) .or. (.not. (x <= 3.6d+167))) then
                                        tmp = x / ((-0.016666666666666666d0) * (t - z))
                                    else
                                        tmp = 120.0d0 * a
                                    end if
                                    code = tmp
                                end function
                                
                                public static double code(double x, double y, double z, double t, double a) {
                                	double tmp;
                                	if ((x <= -9e+93) || !(x <= 3.6e+167)) {
                                		tmp = x / (-0.016666666666666666 * (t - z));
                                	} else {
                                		tmp = 120.0 * a;
                                	}
                                	return tmp;
                                }
                                
                                def code(x, y, z, t, a):
                                	tmp = 0
                                	if (x <= -9e+93) or not (x <= 3.6e+167):
                                		tmp = x / (-0.016666666666666666 * (t - z))
                                	else:
                                		tmp = 120.0 * a
                                	return tmp
                                
                                function code(x, y, z, t, a)
                                	tmp = 0.0
                                	if ((x <= -9e+93) || !(x <= 3.6e+167))
                                		tmp = Float64(x / Float64(-0.016666666666666666 * Float64(t - z)));
                                	else
                                		tmp = Float64(120.0 * a);
                                	end
                                	return tmp
                                end
                                
                                function tmp_2 = code(x, y, z, t, a)
                                	tmp = 0.0;
                                	if ((x <= -9e+93) || ~((x <= 3.6e+167)))
                                		tmp = x / (-0.016666666666666666 * (t - z));
                                	else
                                		tmp = 120.0 * a;
                                	end
                                	tmp_2 = tmp;
                                end
                                
                                code[x_, y_, z_, t_, a_] := If[Or[LessEqual[x, -9e+93], N[Not[LessEqual[x, 3.6e+167]], $MachinePrecision]], N[(x / N[(-0.016666666666666666 * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(120.0 * a), $MachinePrecision]]
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                \mathbf{if}\;x \leq -9 \cdot 10^{+93} \lor \neg \left(x \leq 3.6 \cdot 10^{+167}\right):\\
                                \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;120 \cdot a\\
                                
                                
                                \end{array}
                                \end{array}
                                
                                Derivation
                                1. Split input into 2 regimes
                                2. if x < -8.99999999999999981e93 or 3.60000000000000024e167 < x

                                  1. Initial program 98.5%

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

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

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

                                      \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                                    4. lower-fma.f6498.6

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

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

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                                    7. *-commutativeN/A

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

                                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                                    9. *-commutativeN/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                    10. lower-*.f64N/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                    11. frac-2negN/A

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

                                      \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                                    13. metadata-evalN/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                                    14. neg-sub0N/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                    15. lift--.f64N/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                    16. sub-negN/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                                    17. +-commutativeN/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                                    18. associate--r+N/A

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                                    19. neg-sub0N/A

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

                                      \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                                    21. lower--.f6499.8

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

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

                                    \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                                  6. Step-by-step derivation
                                    1. associate-*r/N/A

                                      \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                                    2. remove-double-negN/A

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

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

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

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

                                      \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                                    7. mul-1-negN/A

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

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

                                      \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                                    10. lower-*.f64N/A

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

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

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

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

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

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

                                      \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                                    17. lower--.f6472.1

                                      \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                                  7. Applied rewrites72.1%

                                    \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                                  8. Step-by-step derivation
                                    1. Applied rewrites73.4%

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

                                    if -8.99999999999999981e93 < x < 3.60000000000000024e167

                                    1. Initial program 99.3%

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

                                      \[\leadsto \color{blue}{120 \cdot a} \]
                                    4. Step-by-step derivation
                                      1. *-commutativeN/A

                                        \[\leadsto \color{blue}{a \cdot 120} \]
                                      2. lower-*.f6460.3

                                        \[\leadsto \color{blue}{a \cdot 120} \]
                                    5. Applied rewrites60.3%

                                      \[\leadsto \color{blue}{a \cdot 120} \]
                                  9. Recombined 2 regimes into one program.
                                  10. Final simplification64.3%

                                    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -9 \cdot 10^{+93} \lor \neg \left(x \leq 3.6 \cdot 10^{+167}\right):\\ \;\;\;\;\frac{x}{-0.016666666666666666 \cdot \left(t - z\right)}\\ \mathbf{else}:\\ \;\;\;\;120 \cdot a\\ \end{array} \]
                                  11. Add Preprocessing

                                  Alternative 14: 51.3% accurate, 1.1× speedup?

                                  \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -1.8 \cdot 10^{+133} \lor \neg \left(x \leq 2.2 \cdot 10^{+168}\right):\\ \;\;\;\;\frac{-60}{t} \cdot x\\ \mathbf{else}:\\ \;\;\;\;120 \cdot a\\ \end{array} \end{array} \]
                                  (FPCore (x y z t a)
                                   :precision binary64
                                   (if (or (<= x -1.8e+133) (not (<= x 2.2e+168)))
                                     (* (/ -60.0 t) x)
                                     (* 120.0 a)))
                                  double code(double x, double y, double z, double t, double a) {
                                  	double tmp;
                                  	if ((x <= -1.8e+133) || !(x <= 2.2e+168)) {
                                  		tmp = (-60.0 / t) * x;
                                  	} else {
                                  		tmp = 120.0 * a;
                                  	}
                                  	return tmp;
                                  }
                                  
                                  real(8) function code(x, y, z, t, a)
                                      real(8), intent (in) :: x
                                      real(8), intent (in) :: y
                                      real(8), intent (in) :: z
                                      real(8), intent (in) :: t
                                      real(8), intent (in) :: a
                                      real(8) :: tmp
                                      if ((x <= (-1.8d+133)) .or. (.not. (x <= 2.2d+168))) then
                                          tmp = ((-60.0d0) / t) * x
                                      else
                                          tmp = 120.0d0 * a
                                      end if
                                      code = tmp
                                  end function
                                  
                                  public static double code(double x, double y, double z, double t, double a) {
                                  	double tmp;
                                  	if ((x <= -1.8e+133) || !(x <= 2.2e+168)) {
                                  		tmp = (-60.0 / t) * x;
                                  	} else {
                                  		tmp = 120.0 * a;
                                  	}
                                  	return tmp;
                                  }
                                  
                                  def code(x, y, z, t, a):
                                  	tmp = 0
                                  	if (x <= -1.8e+133) or not (x <= 2.2e+168):
                                  		tmp = (-60.0 / t) * x
                                  	else:
                                  		tmp = 120.0 * a
                                  	return tmp
                                  
                                  function code(x, y, z, t, a)
                                  	tmp = 0.0
                                  	if ((x <= -1.8e+133) || !(x <= 2.2e+168))
                                  		tmp = Float64(Float64(-60.0 / t) * x);
                                  	else
                                  		tmp = Float64(120.0 * a);
                                  	end
                                  	return tmp
                                  end
                                  
                                  function tmp_2 = code(x, y, z, t, a)
                                  	tmp = 0.0;
                                  	if ((x <= -1.8e+133) || ~((x <= 2.2e+168)))
                                  		tmp = (-60.0 / t) * x;
                                  	else
                                  		tmp = 120.0 * a;
                                  	end
                                  	tmp_2 = tmp;
                                  end
                                  
                                  code[x_, y_, z_, t_, a_] := If[Or[LessEqual[x, -1.8e+133], N[Not[LessEqual[x, 2.2e+168]], $MachinePrecision]], N[(N[(-60.0 / t), $MachinePrecision] * x), $MachinePrecision], N[(120.0 * a), $MachinePrecision]]
                                  
                                  \begin{array}{l}
                                  
                                  \\
                                  \begin{array}{l}
                                  \mathbf{if}\;x \leq -1.8 \cdot 10^{+133} \lor \neg \left(x \leq 2.2 \cdot 10^{+168}\right):\\
                                  \;\;\;\;\frac{-60}{t} \cdot x\\
                                  
                                  \mathbf{else}:\\
                                  \;\;\;\;120 \cdot a\\
                                  
                                  
                                  \end{array}
                                  \end{array}
                                  
                                  Derivation
                                  1. Split input into 2 regimes
                                  2. if x < -1.79999999999999989e133 or 2.2000000000000002e168 < x

                                    1. Initial program 98.5%

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

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

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

                                        \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                                      4. lower-fma.f6498.5

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

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

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                                      7. *-commutativeN/A

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

                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                                      9. *-commutativeN/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                      10. lower-*.f64N/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                      11. frac-2negN/A

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

                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                                      13. metadata-evalN/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                                      14. neg-sub0N/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                      15. lift--.f64N/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                      16. sub-negN/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                                      17. +-commutativeN/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                                      18. associate--r+N/A

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                                      19. neg-sub0N/A

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

                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                                      21. lower--.f6499.8

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

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

                                      \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                                    6. Step-by-step derivation
                                      1. associate-*r/N/A

                                        \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                                      2. remove-double-negN/A

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

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

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

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

                                        \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                                      7. mul-1-negN/A

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

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

                                        \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                                      10. lower-*.f64N/A

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

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

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

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

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

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

                                        \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                                      17. lower--.f6472.5

                                        \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                                    7. Applied rewrites72.5%

                                      \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                                    8. Taylor expanded in t around inf

                                      \[\leadsto -60 \cdot \color{blue}{\frac{x}{t}} \]
                                    9. Step-by-step derivation
                                      1. Applied rewrites41.9%

                                        \[\leadsto \frac{x}{t} \cdot \color{blue}{-60} \]
                                      2. Step-by-step derivation
                                        1. Applied rewrites41.9%

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

                                        if -1.79999999999999989e133 < x < 2.2000000000000002e168

                                        1. Initial program 99.3%

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

                                          \[\leadsto \color{blue}{120 \cdot a} \]
                                        4. Step-by-step derivation
                                          1. *-commutativeN/A

                                            \[\leadsto \color{blue}{a \cdot 120} \]
                                          2. lower-*.f6459.5

                                            \[\leadsto \color{blue}{a \cdot 120} \]
                                        5. Applied rewrites59.5%

                                          \[\leadsto \color{blue}{a \cdot 120} \]
                                      3. Recombined 2 regimes into one program.
                                      4. Final simplification54.6%

                                        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -1.8 \cdot 10^{+133} \lor \neg \left(x \leq 2.2 \cdot 10^{+168}\right):\\ \;\;\;\;\frac{-60}{t} \cdot x\\ \mathbf{else}:\\ \;\;\;\;120 \cdot a\\ \end{array} \]
                                      5. Add Preprocessing

                                      Alternative 15: 51.1% accurate, 1.1× speedup?

                                      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -1.8 \cdot 10^{+133}:\\ \;\;\;\;\frac{-60}{t} \cdot x\\ \mathbf{elif}\;x \leq 3.5 \cdot 10^{+168}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{z} \cdot 60\\ \end{array} \end{array} \]
                                      (FPCore (x y z t a)
                                       :precision binary64
                                       (if (<= x -1.8e+133)
                                         (* (/ -60.0 t) x)
                                         (if (<= x 3.5e+168) (* 120.0 a) (* (/ x z) 60.0))))
                                      double code(double x, double y, double z, double t, double a) {
                                      	double tmp;
                                      	if (x <= -1.8e+133) {
                                      		tmp = (-60.0 / t) * x;
                                      	} else if (x <= 3.5e+168) {
                                      		tmp = 120.0 * a;
                                      	} else {
                                      		tmp = (x / z) * 60.0;
                                      	}
                                      	return tmp;
                                      }
                                      
                                      real(8) function code(x, y, z, t, a)
                                          real(8), intent (in) :: x
                                          real(8), intent (in) :: y
                                          real(8), intent (in) :: z
                                          real(8), intent (in) :: t
                                          real(8), intent (in) :: a
                                          real(8) :: tmp
                                          if (x <= (-1.8d+133)) then
                                              tmp = ((-60.0d0) / t) * x
                                          else if (x <= 3.5d+168) then
                                              tmp = 120.0d0 * a
                                          else
                                              tmp = (x / z) * 60.0d0
                                          end if
                                          code = tmp
                                      end function
                                      
                                      public static double code(double x, double y, double z, double t, double a) {
                                      	double tmp;
                                      	if (x <= -1.8e+133) {
                                      		tmp = (-60.0 / t) * x;
                                      	} else if (x <= 3.5e+168) {
                                      		tmp = 120.0 * a;
                                      	} else {
                                      		tmp = (x / z) * 60.0;
                                      	}
                                      	return tmp;
                                      }
                                      
                                      def code(x, y, z, t, a):
                                      	tmp = 0
                                      	if x <= -1.8e+133:
                                      		tmp = (-60.0 / t) * x
                                      	elif x <= 3.5e+168:
                                      		tmp = 120.0 * a
                                      	else:
                                      		tmp = (x / z) * 60.0
                                      	return tmp
                                      
                                      function code(x, y, z, t, a)
                                      	tmp = 0.0
                                      	if (x <= -1.8e+133)
                                      		tmp = Float64(Float64(-60.0 / t) * x);
                                      	elseif (x <= 3.5e+168)
                                      		tmp = Float64(120.0 * a);
                                      	else
                                      		tmp = Float64(Float64(x / z) * 60.0);
                                      	end
                                      	return tmp
                                      end
                                      
                                      function tmp_2 = code(x, y, z, t, a)
                                      	tmp = 0.0;
                                      	if (x <= -1.8e+133)
                                      		tmp = (-60.0 / t) * x;
                                      	elseif (x <= 3.5e+168)
                                      		tmp = 120.0 * a;
                                      	else
                                      		tmp = (x / z) * 60.0;
                                      	end
                                      	tmp_2 = tmp;
                                      end
                                      
                                      code[x_, y_, z_, t_, a_] := If[LessEqual[x, -1.8e+133], N[(N[(-60.0 / t), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[x, 3.5e+168], N[(120.0 * a), $MachinePrecision], N[(N[(x / z), $MachinePrecision] * 60.0), $MachinePrecision]]]
                                      
                                      \begin{array}{l}
                                      
                                      \\
                                      \begin{array}{l}
                                      \mathbf{if}\;x \leq -1.8 \cdot 10^{+133}:\\
                                      \;\;\;\;\frac{-60}{t} \cdot x\\
                                      
                                      \mathbf{elif}\;x \leq 3.5 \cdot 10^{+168}:\\
                                      \;\;\;\;120 \cdot a\\
                                      
                                      \mathbf{else}:\\
                                      \;\;\;\;\frac{x}{z} \cdot 60\\
                                      
                                      
                                      \end{array}
                                      \end{array}
                                      
                                      Derivation
                                      1. Split input into 3 regimes
                                      2. if x < -1.79999999999999989e133

                                        1. Initial program 99.8%

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

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

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

                                            \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                                          4. lower-fma.f6499.8

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

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

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                                          7. *-commutativeN/A

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

                                            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                                          9. *-commutativeN/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                          10. lower-*.f64N/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                          11. frac-2negN/A

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

                                            \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                                          13. metadata-evalN/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                                          14. neg-sub0N/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                          15. lift--.f64N/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                          16. sub-negN/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                                          17. +-commutativeN/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                                          18. associate--r+N/A

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                                          19. neg-sub0N/A

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

                                            \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                                          21. lower--.f6499.8

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

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

                                          \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                                        6. Step-by-step derivation
                                          1. associate-*r/N/A

                                            \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                                          2. remove-double-negN/A

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

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

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

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

                                            \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                                          7. mul-1-negN/A

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

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

                                            \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                                          10. lower-*.f64N/A

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

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

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

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

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

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

                                            \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                                          17. lower--.f6470.4

                                            \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                                        7. Applied rewrites70.4%

                                          \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                                        8. Taylor expanded in t around inf

                                          \[\leadsto -60 \cdot \color{blue}{\frac{x}{t}} \]
                                        9. Step-by-step derivation
                                          1. Applied rewrites47.6%

                                            \[\leadsto \frac{x}{t} \cdot \color{blue}{-60} \]
                                          2. Step-by-step derivation
                                            1. Applied rewrites47.7%

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

                                            if -1.79999999999999989e133 < x < 3.5000000000000002e168

                                            1. Initial program 99.3%

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

                                              \[\leadsto \color{blue}{120 \cdot a} \]
                                            4. Step-by-step derivation
                                              1. *-commutativeN/A

                                                \[\leadsto \color{blue}{a \cdot 120} \]
                                              2. lower-*.f6459.5

                                                \[\leadsto \color{blue}{a \cdot 120} \]
                                            5. Applied rewrites59.5%

                                              \[\leadsto \color{blue}{a \cdot 120} \]

                                            if 3.5000000000000002e168 < x

                                            1. Initial program 96.7%

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

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

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

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

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

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

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

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

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

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

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

                                                \[\leadsto \left(x - y\right) \cdot \color{blue}{\frac{60}{z - t}} \]
                                              11. lower--.f6484.2

                                                \[\leadsto \left(x - y\right) \cdot \frac{60}{\color{blue}{z - t}} \]
                                            5. Applied rewrites84.2%

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

                                              \[\leadsto 60 \cdot \color{blue}{\frac{x - y}{z}} \]
                                            7. Step-by-step derivation
                                              1. Applied rewrites64.7%

                                                \[\leadsto \frac{x - y}{z} \cdot \color{blue}{60} \]
                                              2. Taylor expanded in y around 0

                                                \[\leadsto \frac{x}{z} \cdot 60 \]
                                              3. Step-by-step derivation
                                                1. Applied rewrites58.8%

                                                  \[\leadsto \frac{x}{z} \cdot 60 \]
                                              4. Recombined 3 regimes into one program.
                                              5. Final simplification57.5%

                                                \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -1.8 \cdot 10^{+133}:\\ \;\;\;\;\frac{-60}{t} \cdot x\\ \mathbf{elif}\;x \leq 3.5 \cdot 10^{+168}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{z} \cdot 60\\ \end{array} \]
                                              6. Add Preprocessing

                                              Alternative 16: 51.3% accurate, 1.1× speedup?

                                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -1.8 \cdot 10^{+133}:\\ \;\;\;\;\frac{-60}{t} \cdot x\\ \mathbf{elif}\;x \leq 2.2 \cdot 10^{+168}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{t} \cdot -60\\ \end{array} \end{array} \]
                                              (FPCore (x y z t a)
                                               :precision binary64
                                               (if (<= x -1.8e+133)
                                                 (* (/ -60.0 t) x)
                                                 (if (<= x 2.2e+168) (* 120.0 a) (* (/ x t) -60.0))))
                                              double code(double x, double y, double z, double t, double a) {
                                              	double tmp;
                                              	if (x <= -1.8e+133) {
                                              		tmp = (-60.0 / t) * x;
                                              	} else if (x <= 2.2e+168) {
                                              		tmp = 120.0 * a;
                                              	} else {
                                              		tmp = (x / t) * -60.0;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              real(8) function code(x, y, z, t, a)
                                                  real(8), intent (in) :: x
                                                  real(8), intent (in) :: y
                                                  real(8), intent (in) :: z
                                                  real(8), intent (in) :: t
                                                  real(8), intent (in) :: a
                                                  real(8) :: tmp
                                                  if (x <= (-1.8d+133)) then
                                                      tmp = ((-60.0d0) / t) * x
                                                  else if (x <= 2.2d+168) then
                                                      tmp = 120.0d0 * a
                                                  else
                                                      tmp = (x / t) * (-60.0d0)
                                                  end if
                                                  code = tmp
                                              end function
                                              
                                              public static double code(double x, double y, double z, double t, double a) {
                                              	double tmp;
                                              	if (x <= -1.8e+133) {
                                              		tmp = (-60.0 / t) * x;
                                              	} else if (x <= 2.2e+168) {
                                              		tmp = 120.0 * a;
                                              	} else {
                                              		tmp = (x / t) * -60.0;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              def code(x, y, z, t, a):
                                              	tmp = 0
                                              	if x <= -1.8e+133:
                                              		tmp = (-60.0 / t) * x
                                              	elif x <= 2.2e+168:
                                              		tmp = 120.0 * a
                                              	else:
                                              		tmp = (x / t) * -60.0
                                              	return tmp
                                              
                                              function code(x, y, z, t, a)
                                              	tmp = 0.0
                                              	if (x <= -1.8e+133)
                                              		tmp = Float64(Float64(-60.0 / t) * x);
                                              	elseif (x <= 2.2e+168)
                                              		tmp = Float64(120.0 * a);
                                              	else
                                              		tmp = Float64(Float64(x / t) * -60.0);
                                              	end
                                              	return tmp
                                              end
                                              
                                              function tmp_2 = code(x, y, z, t, a)
                                              	tmp = 0.0;
                                              	if (x <= -1.8e+133)
                                              		tmp = (-60.0 / t) * x;
                                              	elseif (x <= 2.2e+168)
                                              		tmp = 120.0 * a;
                                              	else
                                              		tmp = (x / t) * -60.0;
                                              	end
                                              	tmp_2 = tmp;
                                              end
                                              
                                              code[x_, y_, z_, t_, a_] := If[LessEqual[x, -1.8e+133], N[(N[(-60.0 / t), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[x, 2.2e+168], N[(120.0 * a), $MachinePrecision], N[(N[(x / t), $MachinePrecision] * -60.0), $MachinePrecision]]]
                                              
                                              \begin{array}{l}
                                              
                                              \\
                                              \begin{array}{l}
                                              \mathbf{if}\;x \leq -1.8 \cdot 10^{+133}:\\
                                              \;\;\;\;\frac{-60}{t} \cdot x\\
                                              
                                              \mathbf{elif}\;x \leq 2.2 \cdot 10^{+168}:\\
                                              \;\;\;\;120 \cdot a\\
                                              
                                              \mathbf{else}:\\
                                              \;\;\;\;\frac{x}{t} \cdot -60\\
                                              
                                              
                                              \end{array}
                                              \end{array}
                                              
                                              Derivation
                                              1. Split input into 3 regimes
                                              2. if x < -1.79999999999999989e133

                                                1. Initial program 99.8%

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

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

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

                                                    \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                                                  4. lower-fma.f6499.8

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

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

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                                                  7. *-commutativeN/A

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

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                                                  9. *-commutativeN/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                                  10. lower-*.f64N/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                                  11. frac-2negN/A

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

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                                                  13. metadata-evalN/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                                                  14. neg-sub0N/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                                  15. lift--.f64N/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                                  16. sub-negN/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                                                  17. +-commutativeN/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                                                  18. associate--r+N/A

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                                                  19. neg-sub0N/A

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

                                                    \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                                                  21. lower--.f6499.8

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

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

                                                  \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                                                6. Step-by-step derivation
                                                  1. associate-*r/N/A

                                                    \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                                                  2. remove-double-negN/A

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

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

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

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

                                                    \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                                                  7. mul-1-negN/A

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

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

                                                    \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                                                  10. lower-*.f64N/A

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

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

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

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

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

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

                                                    \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                                                  17. lower--.f6470.4

                                                    \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                                                7. Applied rewrites70.4%

                                                  \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                                                8. Taylor expanded in t around inf

                                                  \[\leadsto -60 \cdot \color{blue}{\frac{x}{t}} \]
                                                9. Step-by-step derivation
                                                  1. Applied rewrites47.6%

                                                    \[\leadsto \frac{x}{t} \cdot \color{blue}{-60} \]
                                                  2. Step-by-step derivation
                                                    1. Applied rewrites47.7%

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

                                                    if -1.79999999999999989e133 < x < 2.2000000000000002e168

                                                    1. Initial program 99.3%

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

                                                      \[\leadsto \color{blue}{120 \cdot a} \]
                                                    4. Step-by-step derivation
                                                      1. *-commutativeN/A

                                                        \[\leadsto \color{blue}{a \cdot 120} \]
                                                      2. lower-*.f6459.5

                                                        \[\leadsto \color{blue}{a \cdot 120} \]
                                                    5. Applied rewrites59.5%

                                                      \[\leadsto \color{blue}{a \cdot 120} \]

                                                    if 2.2000000000000002e168 < x

                                                    1. Initial program 96.7%

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

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

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

                                                        \[\leadsto \color{blue}{a \cdot 120} + \frac{60 \cdot \left(x - y\right)}{z - t} \]
                                                      4. lower-fma.f6496.7

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

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

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{60 \cdot \left(x - y\right)}}{z - t}\right) \]
                                                      7. *-commutativeN/A

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

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\left(x - y\right) \cdot \frac{60}{z - t}}\right) \]
                                                      9. *-commutativeN/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                                      10. lower-*.f64N/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{60}{z - t} \cdot \left(x - y\right)}\right) \]
                                                      11. frac-2negN/A

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

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \color{blue}{\frac{\mathsf{neg}\left(60\right)}{\mathsf{neg}\left(\left(z - t\right)\right)}} \cdot \left(x - y\right)\right) \]
                                                      13. metadata-evalN/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{\color{blue}{-60}}{\mathsf{neg}\left(\left(z - t\right)\right)} \cdot \left(x - y\right)\right) \]
                                                      14. neg-sub0N/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{0 - \left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                                      15. lift--.f64N/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z - t\right)}} \cdot \left(x - y\right)\right) \]
                                                      16. sub-negN/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(z + \left(\mathsf{neg}\left(t\right)\right)\right)}} \cdot \left(x - y\right)\right) \]
                                                      17. +-commutativeN/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{0 - \color{blue}{\left(\left(\mathsf{neg}\left(t\right)\right) + z\right)}} \cdot \left(x - y\right)\right) \]
                                                      18. associate--r+N/A

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{\left(0 - \left(\mathsf{neg}\left(t\right)\right)\right) - z}} \cdot \left(x - y\right)\right) \]
                                                      19. neg-sub0N/A

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

                                                        \[\leadsto \mathsf{fma}\left(a, 120, \frac{-60}{\color{blue}{t} - z} \cdot \left(x - y\right)\right) \]
                                                      21. lower--.f6499.7

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

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

                                                      \[\leadsto \color{blue}{-60 \cdot \frac{x}{t - z}} \]
                                                    6. Step-by-step derivation
                                                      1. associate-*r/N/A

                                                        \[\leadsto \color{blue}{\frac{-60 \cdot x}{t - z}} \]
                                                      2. remove-double-negN/A

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

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

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

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

                                                        \[\leadsto \frac{-60 \cdot x}{\mathsf{neg}\left(\color{blue}{\left(z - t\right)}\right)} \]
                                                      7. mul-1-negN/A

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

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

                                                        \[\leadsto \frac{\color{blue}{x \cdot -60}}{-1 \cdot \left(z - t\right)} \]
                                                      10. lower-*.f64N/A

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

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

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

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

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

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

                                                        \[\leadsto \frac{x \cdot -60}{\color{blue}{t} - z} \]
                                                      17. lower--.f6475.1

                                                        \[\leadsto \frac{x \cdot -60}{\color{blue}{t - z}} \]
                                                    7. Applied rewrites75.1%

                                                      \[\leadsto \color{blue}{\frac{x \cdot -60}{t - z}} \]
                                                    8. Taylor expanded in t around inf

                                                      \[\leadsto -60 \cdot \color{blue}{\frac{x}{t}} \]
                                                    9. Step-by-step derivation
                                                      1. Applied rewrites34.3%

                                                        \[\leadsto \frac{x}{t} \cdot \color{blue}{-60} \]
                                                    10. Recombined 3 regimes into one program.
                                                    11. Final simplification54.6%

                                                      \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -1.8 \cdot 10^{+133}:\\ \;\;\;\;\frac{-60}{t} \cdot x\\ \mathbf{elif}\;x \leq 2.2 \cdot 10^{+168}:\\ \;\;\;\;120 \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{t} \cdot -60\\ \end{array} \]
                                                    12. Add Preprocessing

                                                    Alternative 17: 50.5% accurate, 5.2× speedup?

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

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

                                                      \[\leadsto \color{blue}{120 \cdot a} \]
                                                    4. Step-by-step derivation
                                                      1. *-commutativeN/A

                                                        \[\leadsto \color{blue}{a \cdot 120} \]
                                                      2. lower-*.f6448.3

                                                        \[\leadsto \color{blue}{a \cdot 120} \]
                                                    5. Applied rewrites48.3%

                                                      \[\leadsto \color{blue}{a \cdot 120} \]
                                                    6. Final simplification48.3%

                                                      \[\leadsto 120 \cdot a \]
                                                    7. Add Preprocessing

                                                    Developer Target 1: 99.8% accurate, 0.8× speedup?

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

                                                    Reproduce

                                                    ?
                                                    herbie shell --seed 2024271 
                                                    (FPCore (x y z t a)
                                                      :name "Data.Colour.RGB:hslsv from colour-2.3.3, B"
                                                      :precision binary64
                                                    
                                                      :alt
                                                      (! :herbie-platform default (+ (/ 60 (/ (- z t) (- x y))) (* a 120)))
                                                    
                                                      (+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))