Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A

Percentage Accurate: 98.4% → 98.4%
Time: 16.5s
Alternatives: 20
Speedup: 1.0×

Specification

?
\[\begin{array}{l} \\ \frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
	return (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
}
real(8) function code(x, y, z, t, a, b)
    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), intent (in) :: b
    code = (x * exp((((y * log(z)) + ((t - 1.0d0) * log(a))) - b))) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	return (x * Math.exp((((y * Math.log(z)) + ((t - 1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b):
	return (x * math.exp((((y * math.log(z)) + ((t - 1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b)
	return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t - 1.0) * log(a))) - b))) / y)
end
function tmp = code(x, y, z, t, a, b)
	tmp = (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t - 1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}

\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\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 20 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: 98.4% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
	return (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
}
real(8) function code(x, y, z, t, a, b)
    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), intent (in) :: b
    code = (x * exp((((y * log(z)) + ((t - 1.0d0) * log(a))) - b))) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	return (x * Math.exp((((y * Math.log(z)) + ((t - 1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b):
	return (x * math.exp((((y * math.log(z)) + ((t - 1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b)
	return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t - 1.0) * log(a))) - b))) / y)
end
function tmp = code(x, y, z, t, a, b)
	tmp = (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t - 1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}

\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\end{array}

Alternative 1: 98.4% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (/ (* x (exp (- (+ (* y (log z)) (* (+ t -1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
	return (x * exp((((y * log(z)) + ((t + -1.0) * log(a))) - b))) / y;
}
real(8) function code(x, y, z, t, a, b)
    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), intent (in) :: b
    code = (x * exp((((y * log(z)) + ((t + (-1.0d0)) * log(a))) - b))) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	return (x * Math.exp((((y * Math.log(z)) + ((t + -1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b):
	return (x * math.exp((((y * math.log(z)) + ((t + -1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b)
	return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t + -1.0) * log(a))) - b))) / y)
end
function tmp = code(x, y, z, t, a, b)
	tmp = (x * exp((((y * log(z)) + ((t + -1.0) * log(a))) - b))) / y;
end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}

\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y}
\end{array}
Derivation
  1. Initial program 99.3%

    \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \]
  2. Add Preprocessing
  3. Final simplification99.3%

    \[\leadsto \frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y} \]
  4. Add Preprocessing

Alternative 2: 82.5% accurate, 1.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{z}^{y}}{y}\\ \mathbf{if}\;y \leq -1.2 \cdot 10^{+55}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 8.5 \cdot 10^{+17}:\\ \;\;\;\;\frac{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}{y}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (* x (/ (pow z y) y))))
   (if (<= y -1.2e+55)
     t_1
     (if (<= y 8.5e+17) (/ (* (pow a (+ t -1.0)) (/ x (exp b))) y) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x * (pow(z, y) / y);
	double tmp;
	if (y <= -1.2e+55) {
		tmp = t_1;
	} else if (y <= 8.5e+17) {
		tmp = (pow(a, (t + -1.0)) * (x / exp(b))) / y;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    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), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x * ((z ** y) / y)
    if (y <= (-1.2d+55)) then
        tmp = t_1
    else if (y <= 8.5d+17) then
        tmp = ((a ** (t + (-1.0d0))) * (x / exp(b))) / y
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x * (Math.pow(z, y) / y);
	double tmp;
	if (y <= -1.2e+55) {
		tmp = t_1;
	} else if (y <= 8.5e+17) {
		tmp = (Math.pow(a, (t + -1.0)) * (x / Math.exp(b))) / y;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x * (math.pow(z, y) / y)
	tmp = 0
	if y <= -1.2e+55:
		tmp = t_1
	elif y <= 8.5e+17:
		tmp = (math.pow(a, (t + -1.0)) * (x / math.exp(b))) / y
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x * Float64((z ^ y) / y))
	tmp = 0.0
	if (y <= -1.2e+55)
		tmp = t_1;
	elseif (y <= 8.5e+17)
		tmp = Float64(Float64((a ^ Float64(t + -1.0)) * Float64(x / exp(b))) / y);
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x * ((z ^ y) / y);
	tmp = 0.0;
	if (y <= -1.2e+55)
		tmp = t_1;
	elseif (y <= 8.5e+17)
		tmp = ((a ^ (t + -1.0)) * (x / exp(b))) / y;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.2e+55], t$95$1, If[LessEqual[y, 8.5e+17], N[(N[(N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision] * N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x \cdot \frac{{z}^{y}}{y}\\
\mathbf{if}\;y \leq -1.2 \cdot 10^{+55}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;y \leq 8.5 \cdot 10^{+17}:\\
\;\;\;\;\frac{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}{y}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -1.2e55 or 8.5e17 < y

    1. Initial program 100.0%

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

      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(y \cdot \log z\right)}\right)\right), y\right) \]
    4. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \log z\right)\right)\right), y\right) \]
      2. log-lowering-log.f6482.4%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \mathsf{log.f64}\left(z\right)\right)\right)\right), y\right) \]
    5. Simplified82.4%

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

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

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

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{y \cdot \log z}}{y}\right), \color{blue}{x}\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log z \cdot y}}{y}\right), x\right) \]
      5. pow-to-expN/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{{z}^{y}}{y}\right), x\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({z}^{y}\right), y\right), x\right) \]
      7. pow-lowering-pow.f6482.4%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(z, y\right), y\right), x\right) \]
    7. Applied egg-rr82.4%

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

    if -1.2e55 < y < 8.5e17

    1. Initial program 98.7%

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

      \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
    4. Step-by-step derivation
      1. exp-diffN/A

        \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
      2. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
      4. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      6. exp-to-powN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      7. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      8. sub-negN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      9. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
      12. exp-lowering-exp.f6479.9%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
    5. Simplified79.9%

      \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification81.0%

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

Alternative 3: 80.4% accurate, 1.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{a}^{t}}{y}\\ \mathbf{if}\;t \leq -1.45 \cdot 10^{+56}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;\frac{x \cdot {z}^{y}}{a \cdot \left(y \cdot e^{b}\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (* x (/ (pow a t) y))))
   (if (<= t -1.45e+56)
     t_1
     (if (<= t 0.00055) (/ (* x (pow z y)) (* a (* y (exp b)))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x * (pow(a, t) / y);
	double tmp;
	if (t <= -1.45e+56) {
		tmp = t_1;
	} else if (t <= 0.00055) {
		tmp = (x * pow(z, y)) / (a * (y * exp(b)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    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), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x * ((a ** t) / y)
    if (t <= (-1.45d+56)) then
        tmp = t_1
    else if (t <= 0.00055d0) then
        tmp = (x * (z ** y)) / (a * (y * exp(b)))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x * (Math.pow(a, t) / y);
	double tmp;
	if (t <= -1.45e+56) {
		tmp = t_1;
	} else if (t <= 0.00055) {
		tmp = (x * Math.pow(z, y)) / (a * (y * Math.exp(b)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x * (math.pow(a, t) / y)
	tmp = 0
	if t <= -1.45e+56:
		tmp = t_1
	elif t <= 0.00055:
		tmp = (x * math.pow(z, y)) / (a * (y * math.exp(b)))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x * Float64((a ^ t) / y))
	tmp = 0.0
	if (t <= -1.45e+56)
		tmp = t_1;
	elseif (t <= 0.00055)
		tmp = Float64(Float64(x * (z ^ y)) / Float64(a * Float64(y * exp(b))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x * ((a ^ t) / y);
	tmp = 0.0;
	if (t <= -1.45e+56)
		tmp = t_1;
	elseif (t <= 0.00055)
		tmp = (x * (z ^ y)) / (a * (y * exp(b)));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[a, t], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.45e+56], t$95$1, If[LessEqual[t, 0.00055], N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x \cdot \frac{{a}^{t}}{y}\\
\mathbf{if}\;t \leq -1.45 \cdot 10^{+56}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;t \leq 0.00055:\\
\;\;\;\;\frac{x \cdot {z}^{y}}{a \cdot \left(y \cdot e^{b}\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t < -1.45000000000000004e56 or 5.50000000000000033e-4 < t

    1. Initial program 100.0%

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

      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(t \cdot \log a\right)}\right)\right), y\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\log a \cdot t\right)\right)\right), y\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\log a, t\right)\right)\right), y\right) \]
      3. log-lowering-log.f6483.7%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\mathsf{log.f64}\left(a\right), t\right)\right)\right), y\right) \]
    5. Simplified83.7%

      \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t}}}{y} \]
    6. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto x \cdot \color{blue}{\frac{e^{\log a \cdot t}}{y}} \]
      2. *-commutativeN/A

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

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log a \cdot t}}{y}\right), \color{blue}{x}\right) \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(e^{\log a \cdot t}\right), y\right), x\right) \]
      5. exp-to-powN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({a}^{t}\right), y\right), x\right) \]
      6. pow-lowering-pow.f6483.7%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(a, t\right), y\right), x\right) \]
    7. Applied egg-rr83.7%

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

    if -1.45000000000000004e56 < t < 5.50000000000000033e-4

    1. Initial program 98.5%

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \]
    2. Step-by-step derivation
      1. associate-*l/N/A

        \[\leadsto \frac{x}{y} \cdot \color{blue}{e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}} \]
      2. exp-diffN/A

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

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

        \[\leadsto \frac{\frac{x}{y}}{e^{b}} \cdot \color{blue}{e^{y \cdot \log z + \left(t - 1\right) \cdot \log a}} \]
      5. associate-/r/N/A

        \[\leadsto \frac{\frac{x}{y}}{\color{blue}{\frac{e^{b}}{e^{y \cdot \log z + \left(t - 1\right) \cdot \log a}}}} \]
      6. exp-diffN/A

        \[\leadsto \frac{\frac{x}{y}}{e^{b - \left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right)}} \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{x}{y}\right), \color{blue}{\left(e^{b - \left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right)}\right)}\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \left(e^{\color{blue}{b - \left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right)}}\right)\right) \]
      9. exp-diffN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \left(\frac{e^{b}}{\color{blue}{e^{y \cdot \log z + \left(t - 1\right) \cdot \log a}}}\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\left(e^{b}\right), \color{blue}{\left(e^{y \cdot \log z + \left(t - 1\right) \cdot \log a}\right)}\right)\right) \]
      11. exp-lowering-exp.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\mathsf{exp.f64}\left(b\right), \left(e^{\color{blue}{y \cdot \log z + \left(t - 1\right) \cdot \log a}}\right)\right)\right) \]
      12. exp-sumN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\mathsf{exp.f64}\left(b\right), \left(e^{y \cdot \log z} \cdot \color{blue}{e^{\left(t - 1\right) \cdot \log a}}\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\mathsf{exp.f64}\left(b\right), \mathsf{*.f64}\left(\left(e^{y \cdot \log z}\right), \color{blue}{\left(e^{\left(t - 1\right) \cdot \log a}\right)}\right)\right)\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\mathsf{exp.f64}\left(b\right), \mathsf{*.f64}\left(\left(e^{\log z \cdot y}\right), \left(e^{\color{blue}{\left(t - 1\right)} \cdot \log a}\right)\right)\right)\right) \]
      15. exp-to-powN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\mathsf{exp.f64}\left(b\right), \mathsf{*.f64}\left(\left({z}^{y}\right), \left(e^{\color{blue}{\left(t - 1\right) \cdot \log a}}\right)\right)\right)\right) \]
      16. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, y\right), \mathsf{/.f64}\left(\mathsf{exp.f64}\left(b\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(z, y\right), \left(e^{\color{blue}{\left(t - 1\right) \cdot \log a}}\right)\right)\right)\right) \]
    3. Simplified68.4%

      \[\leadsto \color{blue}{\frac{\frac{x}{y}}{\frac{e^{b}}{{z}^{y} \cdot {a}^{\left(t + -1\right)}}}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around 0

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

        \[\leadsto \mathsf{/.f64}\left(\left(x \cdot {z}^{y}\right), \color{blue}{\left(a \cdot \left(y \cdot e^{b}\right)\right)}\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \left({z}^{y}\right)\right), \left(\color{blue}{a} \cdot \left(y \cdot e^{b}\right)\right)\right) \]
      3. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{pow.f64}\left(z, y\right)\right), \left(a \cdot \left(y \cdot e^{b}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{pow.f64}\left(z, y\right)\right), \mathsf{*.f64}\left(a, \color{blue}{\left(y \cdot e^{b}\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{pow.f64}\left(z, y\right)\right), \mathsf{*.f64}\left(a, \mathsf{*.f64}\left(y, \color{blue}{\left(e^{b}\right)}\right)\right)\right) \]
      6. exp-lowering-exp.f6475.4%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{pow.f64}\left(z, y\right)\right), \mathsf{*.f64}\left(a, \mathsf{*.f64}\left(y, \mathsf{exp.f64}\left(b\right)\right)\right)\right) \]
    7. Simplified75.4%

      \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{a \cdot \left(y \cdot e^{b}\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification79.5%

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

Alternative 4: 57.7% accurate, 2.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \left(b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)\\ t_2 := x + b \cdot \left(x - t\_1\right)\\ t_3 := \frac{\frac{x}{e^{b}}}{y}\\ \mathbf{if}\;b \leq -1.55 \cdot 10^{-45}:\\ \;\;\;\;t\_3\\ \mathbf{elif}\;b \leq -1.52 \cdot 10^{-251}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 7.3 \cdot 10^{-211}:\\ \;\;\;\;b \cdot \left(b \cdot \left(b \cdot \left(\frac{-0.16666666666666666 + \frac{0.5}{b}}{\frac{y}{x}} + \frac{\frac{x}{b} - x}{y \cdot \left(b \cdot b\right)}\right)\right)\right)\\ \mathbf{elif}\;b \leq 1.75:\\ \;\;\;\;\frac{\frac{1}{y} \cdot \left(\left(x + b \cdot \left(t\_1 - x\right)\right) \cdot t\_2\right)}{t\_2}\\ \mathbf{else}:\\ \;\;\;\;t\_3\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (* x (* b (+ 0.5 (* b -0.16666666666666666)))))
        (t_2 (+ x (* b (- x t_1))))
        (t_3 (/ (/ x (exp b)) y)))
   (if (<= b -1.55e-45)
     t_3
     (if (<= b -1.52e-251)
       (/ x (* y a))
       (if (<= b 7.3e-211)
         (*
          b
          (*
           b
           (*
            b
            (+
             (/ (+ -0.16666666666666666 (/ 0.5 b)) (/ y x))
             (/ (- (/ x b) x) (* y (* b b)))))))
         (if (<= b 1.75)
           (/ (* (/ 1.0 y) (* (+ x (* b (- t_1 x))) t_2)) t_2)
           t_3))))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x * (b * (0.5 + (b * -0.16666666666666666)));
	double t_2 = x + (b * (x - t_1));
	double t_3 = (x / exp(b)) / y;
	double tmp;
	if (b <= -1.55e-45) {
		tmp = t_3;
	} else if (b <= -1.52e-251) {
		tmp = x / (y * a);
	} else if (b <= 7.3e-211) {
		tmp = b * (b * (b * (((-0.16666666666666666 + (0.5 / b)) / (y / x)) + (((x / b) - x) / (y * (b * b))))));
	} else if (b <= 1.75) {
		tmp = ((1.0 / y) * ((x + (b * (t_1 - x))) * t_2)) / t_2;
	} else {
		tmp = t_3;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    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), intent (in) :: b
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: tmp
    t_1 = x * (b * (0.5d0 + (b * (-0.16666666666666666d0))))
    t_2 = x + (b * (x - t_1))
    t_3 = (x / exp(b)) / y
    if (b <= (-1.55d-45)) then
        tmp = t_3
    else if (b <= (-1.52d-251)) then
        tmp = x / (y * a)
    else if (b <= 7.3d-211) then
        tmp = b * (b * (b * ((((-0.16666666666666666d0) + (0.5d0 / b)) / (y / x)) + (((x / b) - x) / (y * (b * b))))))
    else if (b <= 1.75d0) then
        tmp = ((1.0d0 / y) * ((x + (b * (t_1 - x))) * t_2)) / t_2
    else
        tmp = t_3
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x * (b * (0.5 + (b * -0.16666666666666666)));
	double t_2 = x + (b * (x - t_1));
	double t_3 = (x / Math.exp(b)) / y;
	double tmp;
	if (b <= -1.55e-45) {
		tmp = t_3;
	} else if (b <= -1.52e-251) {
		tmp = x / (y * a);
	} else if (b <= 7.3e-211) {
		tmp = b * (b * (b * (((-0.16666666666666666 + (0.5 / b)) / (y / x)) + (((x / b) - x) / (y * (b * b))))));
	} else if (b <= 1.75) {
		tmp = ((1.0 / y) * ((x + (b * (t_1 - x))) * t_2)) / t_2;
	} else {
		tmp = t_3;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x * (b * (0.5 + (b * -0.16666666666666666)))
	t_2 = x + (b * (x - t_1))
	t_3 = (x / math.exp(b)) / y
	tmp = 0
	if b <= -1.55e-45:
		tmp = t_3
	elif b <= -1.52e-251:
		tmp = x / (y * a)
	elif b <= 7.3e-211:
		tmp = b * (b * (b * (((-0.16666666666666666 + (0.5 / b)) / (y / x)) + (((x / b) - x) / (y * (b * b))))))
	elif b <= 1.75:
		tmp = ((1.0 / y) * ((x + (b * (t_1 - x))) * t_2)) / t_2
	else:
		tmp = t_3
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x * Float64(b * Float64(0.5 + Float64(b * -0.16666666666666666))))
	t_2 = Float64(x + Float64(b * Float64(x - t_1)))
	t_3 = Float64(Float64(x / exp(b)) / y)
	tmp = 0.0
	if (b <= -1.55e-45)
		tmp = t_3;
	elseif (b <= -1.52e-251)
		tmp = Float64(x / Float64(y * a));
	elseif (b <= 7.3e-211)
		tmp = Float64(b * Float64(b * Float64(b * Float64(Float64(Float64(-0.16666666666666666 + Float64(0.5 / b)) / Float64(y / x)) + Float64(Float64(Float64(x / b) - x) / Float64(y * Float64(b * b)))))));
	elseif (b <= 1.75)
		tmp = Float64(Float64(Float64(1.0 / y) * Float64(Float64(x + Float64(b * Float64(t_1 - x))) * t_2)) / t_2);
	else
		tmp = t_3;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x * (b * (0.5 + (b * -0.16666666666666666)));
	t_2 = x + (b * (x - t_1));
	t_3 = (x / exp(b)) / y;
	tmp = 0.0;
	if (b <= -1.55e-45)
		tmp = t_3;
	elseif (b <= -1.52e-251)
		tmp = x / (y * a);
	elseif (b <= 7.3e-211)
		tmp = b * (b * (b * (((-0.16666666666666666 + (0.5 / b)) / (y / x)) + (((x / b) - x) / (y * (b * b))))));
	elseif (b <= 1.75)
		tmp = ((1.0 / y) * ((x + (b * (t_1 - x))) * t_2)) / t_2;
	else
		tmp = t_3;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(0.5 + N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(b * N[(x - t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -1.55e-45], t$95$3, If[LessEqual[b, -1.52e-251], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 7.3e-211], N[(b * N[(b * N[(b * N[(N[(N[(-0.16666666666666666 + N[(0.5 / b), $MachinePrecision]), $MachinePrecision] / N[(y / x), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x / b), $MachinePrecision] - x), $MachinePrecision] / N[(y * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.75], N[(N[(N[(1.0 / y), $MachinePrecision] * N[(N[(x + N[(b * N[(t$95$1 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision], t$95$3]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x \cdot \left(b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)\\
t_2 := x + b \cdot \left(x - t\_1\right)\\
t_3 := \frac{\frac{x}{e^{b}}}{y}\\
\mathbf{if}\;b \leq -1.55 \cdot 10^{-45}:\\
\;\;\;\;t\_3\\

\mathbf{elif}\;b \leq -1.52 \cdot 10^{-251}:\\
\;\;\;\;\frac{x}{y \cdot a}\\

\mathbf{elif}\;b \leq 7.3 \cdot 10^{-211}:\\
\;\;\;\;b \cdot \left(b \cdot \left(b \cdot \left(\frac{-0.16666666666666666 + \frac{0.5}{b}}{\frac{y}{x}} + \frac{\frac{x}{b} - x}{y \cdot \left(b \cdot b\right)}\right)\right)\right)\\

\mathbf{elif}\;b \leq 1.75:\\
\;\;\;\;\frac{\frac{1}{y} \cdot \left(\left(x + b \cdot \left(t\_1 - x\right)\right) \cdot t\_2\right)}{t\_2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if b < -1.55e-45 or 1.75 < b

    1. Initial program 99.9%

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

      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
    4. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
      2. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
      3. --lowering--.f6472.2%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
    5. Simplified72.2%

      \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
    6. Step-by-step derivation
      1. sub0-negN/A

        \[\leadsto \frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y} \]
      2. rec-expN/A

        \[\leadsto \frac{x \cdot \frac{1}{e^{b}}}{y} \]
      3. div-invN/A

        \[\leadsto \frac{\frac{x}{e^{b}}}{y} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{x}{e^{b}}\right), \color{blue}{y}\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(e^{b}\right)\right), y\right) \]
      6. exp-lowering-exp.f6472.2%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right), y\right) \]
    7. Applied egg-rr72.2%

      \[\leadsto \color{blue}{\frac{\frac{x}{e^{b}}}{y}} \]

    if -1.55e-45 < b < -1.52e-251

    1. Initial program 98.2%

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

      \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
    4. Step-by-step derivation
      1. exp-diffN/A

        \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
      2. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
      4. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      6. exp-to-powN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      7. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      8. sub-negN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      9. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
      12. exp-lowering-exp.f6469.8%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
    5. Simplified69.8%

      \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
    6. Taylor expanded in b around 0

      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
    7. Step-by-step derivation
      1. Simplified69.8%

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

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

          \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
        2. *-lowering-*.f6448.3%

          \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
      4. Simplified48.3%

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

      if -1.52e-251 < b < 7.29999999999999968e-211

      1. Initial program 98.7%

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
      4. Step-by-step derivation
        1. mul-1-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
        2. neg-sub0N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
        3. --lowering--.f6410.3%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
      5. Simplified10.3%

        \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
      6. Taylor expanded in b around 0

        \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
      7. Step-by-step derivation
        1. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
        2. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
        3. mul-1-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
        4. +-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
        5. unsub-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
        6. --lowering--.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
        7. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
        8. associate-*r*N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
        9. distribute-rgt-outN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
        10. +-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
        11. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
        12. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
        13. *-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
        14. *-lowering-*.f6410.3%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
      8. Simplified10.3%

        \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
      9. Taylor expanded in b around inf

        \[\leadsto \color{blue}{{b}^{3} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)} \]
      10. Step-by-step derivation
        1. cube-multN/A

          \[\leadsto \left(b \cdot \left(b \cdot b\right)\right) \cdot \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right) \]
        2. unpow2N/A

          \[\leadsto \left(b \cdot {b}^{2}\right) \cdot \left(-1 \cdot \color{blue}{\frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right) \]
        3. associate-*l*N/A

          \[\leadsto b \cdot \color{blue}{\left({b}^{2} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)} \]
        4. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(b, \color{blue}{\left({b}^{2} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)}\right) \]
        5. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left({b}^{2}\right), \color{blue}{\left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)}\right)\right) \]
        6. unpow2N/A

          \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left(b \cdot b\right), \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)\right) \]
        7. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)\right) \]
        8. +-commutativeN/A

          \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right) + \color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}}\right)\right)\right) \]
        9. associate-+r+N/A

          \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\left(\left(\frac{-1}{6} \cdot \frac{x}{y} + \frac{1}{2} \cdot \frac{x}{b \cdot y}\right) + \frac{x}{{b}^{3} \cdot y}\right) + \color{blue}{-1} \cdot \frac{x}{{b}^{2} \cdot y}\right)\right)\right) \]
      11. Simplified0.0%

        \[\leadsto \color{blue}{b \cdot \left(\left(b \cdot b\right) \cdot \left(\frac{x}{y} \cdot \left(-0.16666666666666666 + \frac{0.5}{b}\right) + \left(\frac{x}{b \cdot \left(y \cdot \left(b \cdot b\right)\right)} - \frac{x}{y \cdot \left(b \cdot b\right)}\right)\right)\right)} \]
      12. Step-by-step derivation
        1. associate-*l*N/A

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

          \[\leadsto \mathsf{*.f64}\left(b, \left(\left(b \cdot \left(\frac{x}{y} \cdot \left(\frac{-1}{6} + \frac{\frac{1}{2}}{b}\right) + \left(\frac{x}{b \cdot \left(y \cdot \left(b \cdot b\right)\right)} - \frac{x}{y \cdot \left(b \cdot b\right)}\right)\right)\right) \cdot \color{blue}{b}\right)\right) \]
        3. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left(b \cdot \left(\frac{x}{y} \cdot \left(\frac{-1}{6} + \frac{\frac{1}{2}}{b}\right) + \left(\frac{x}{b \cdot \left(y \cdot \left(b \cdot b\right)\right)} - \frac{x}{y \cdot \left(b \cdot b\right)}\right)\right)\right), \color{blue}{b}\right)\right) \]
      13. Applied egg-rr54.5%

        \[\leadsto b \cdot \color{blue}{\left(\left(b \cdot \left(\frac{-0.16666666666666666 + \frac{0.5}{b}}{\frac{y}{x}} + \frac{\frac{x}{b} - x}{y \cdot \left(b \cdot b\right)}\right)\right) \cdot b\right)} \]

      if 7.29999999999999968e-211 < b < 1.75

      1. Initial program 98.5%

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
      4. Step-by-step derivation
        1. mul-1-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
        2. neg-sub0N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
        3. --lowering--.f6425.2%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
      5. Simplified25.2%

        \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
      6. Taylor expanded in b around 0

        \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
      7. Step-by-step derivation
        1. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
        2. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
        3. mul-1-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
        4. +-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
        5. unsub-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
        6. --lowering--.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
        7. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
        8. associate-*r*N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
        9. distribute-rgt-outN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
        10. +-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
        11. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
        12. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
        13. *-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
        14. *-lowering-*.f6425.2%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
      8. Simplified25.2%

        \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
      9. Step-by-step derivation
        1. clear-numN/A

          \[\leadsto \frac{1}{\color{blue}{\frac{y}{x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}}} \]
        2. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{y}{x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}\right)}\right) \]
        3. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \color{blue}{\left(x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)}\right)\right) \]
        4. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \color{blue}{\left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)}\right)\right)\right) \]
        5. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \color{blue}{\left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}\right)\right)\right)\right) \]
        6. --lowering--.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right)\right), \color{blue}{x}\right)\right)\right)\right)\right) \]
        7. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right)\right), x\right)\right)\right)\right)\right) \]
        8. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right)\right), x\right)\right)\right)\right)\right) \]
        9. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right)\right)\right) \]
        10. *-lowering-*.f6425.2%

          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right)\right)\right) \]
      10. Applied egg-rr25.2%

        \[\leadsto \color{blue}{\frac{1}{\frac{y}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}} \]
      11. Step-by-step derivation
        1. associate-/r/N/A

          \[\leadsto \frac{1}{y} \cdot \color{blue}{\left(x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)} \]
        2. flip-+N/A

          \[\leadsto \frac{1}{y} \cdot \frac{x \cdot x - \left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right) \cdot \left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)}{\color{blue}{x - b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}} \]
        3. associate-*r/N/A

          \[\leadsto \frac{\frac{1}{y} \cdot \left(x \cdot x - \left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right) \cdot \left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)\right)}{\color{blue}{x - b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}} \]
        4. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{y} \cdot \left(x \cdot x - \left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right) \cdot \left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)\right)\right), \color{blue}{\left(x - b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)}\right) \]
      12. Applied egg-rr51.6%

        \[\leadsto \color{blue}{\frac{\frac{1}{y} \cdot \left(\left(x + b \cdot \left(x \cdot \left(\left(0.5 + b \cdot -0.16666666666666666\right) \cdot b\right) - x\right)\right) \cdot \left(x - b \cdot \left(x \cdot \left(\left(0.5 + b \cdot -0.16666666666666666\right) \cdot b\right) - x\right)\right)\right)}{x - b \cdot \left(x \cdot \left(\left(0.5 + b \cdot -0.16666666666666666\right) \cdot b\right) - x\right)}} \]
    8. Recombined 4 regimes into one program.
    9. Final simplification62.7%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -1.55 \cdot 10^{-45}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \mathbf{elif}\;b \leq -1.52 \cdot 10^{-251}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 7.3 \cdot 10^{-211}:\\ \;\;\;\;b \cdot \left(b \cdot \left(b \cdot \left(\frac{-0.16666666666666666 + \frac{0.5}{b}}{\frac{y}{x}} + \frac{\frac{x}{b} - x}{y \cdot \left(b \cdot b\right)}\right)\right)\right)\\ \mathbf{elif}\;b \leq 1.75:\\ \;\;\;\;\frac{\frac{1}{y} \cdot \left(\left(x + b \cdot \left(x \cdot \left(b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)\right) \cdot \left(x + b \cdot \left(x - x \cdot \left(b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)\right)\right)\right)}{x + b \cdot \left(x - x \cdot \left(b \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \end{array} \]
    10. Add Preprocessing

    Alternative 5: 72.7% accurate, 2.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -1.65 \cdot 10^{+56}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \mathbf{elif}\;t \leq 1.65 \cdot 10^{-159}:\\ \;\;\;\;\frac{\frac{x}{a \cdot e^{b}}}{y}\\ \mathbf{elif}\;t \leq 5.9 \cdot 10^{-21}:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\ \end{array} \end{array} \]
    (FPCore (x y z t a b)
     :precision binary64
     (if (<= t -1.65e+56)
       (* x (/ (pow a t) y))
       (if (<= t 1.65e-159)
         (/ (/ x (* a (exp b))) y)
         (if (<= t 5.9e-21)
           (* x (/ (pow z y) y))
           (/ (* x (pow a (+ t -1.0))) y)))))
    double code(double x, double y, double z, double t, double a, double b) {
    	double tmp;
    	if (t <= -1.65e+56) {
    		tmp = x * (pow(a, t) / y);
    	} else if (t <= 1.65e-159) {
    		tmp = (x / (a * exp(b))) / y;
    	} else if (t <= 5.9e-21) {
    		tmp = x * (pow(z, y) / y);
    	} else {
    		tmp = (x * pow(a, (t + -1.0))) / y;
    	}
    	return tmp;
    }
    
    real(8) function code(x, y, z, t, a, b)
        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), intent (in) :: b
        real(8) :: tmp
        if (t <= (-1.65d+56)) then
            tmp = x * ((a ** t) / y)
        else if (t <= 1.65d-159) then
            tmp = (x / (a * exp(b))) / y
        else if (t <= 5.9d-21) then
            tmp = x * ((z ** y) / y)
        else
            tmp = (x * (a ** (t + (-1.0d0)))) / y
        end if
        code = tmp
    end function
    
    public static double code(double x, double y, double z, double t, double a, double b) {
    	double tmp;
    	if (t <= -1.65e+56) {
    		tmp = x * (Math.pow(a, t) / y);
    	} else if (t <= 1.65e-159) {
    		tmp = (x / (a * Math.exp(b))) / y;
    	} else if (t <= 5.9e-21) {
    		tmp = x * (Math.pow(z, y) / y);
    	} else {
    		tmp = (x * Math.pow(a, (t + -1.0))) / y;
    	}
    	return tmp;
    }
    
    def code(x, y, z, t, a, b):
    	tmp = 0
    	if t <= -1.65e+56:
    		tmp = x * (math.pow(a, t) / y)
    	elif t <= 1.65e-159:
    		tmp = (x / (a * math.exp(b))) / y
    	elif t <= 5.9e-21:
    		tmp = x * (math.pow(z, y) / y)
    	else:
    		tmp = (x * math.pow(a, (t + -1.0))) / y
    	return tmp
    
    function code(x, y, z, t, a, b)
    	tmp = 0.0
    	if (t <= -1.65e+56)
    		tmp = Float64(x * Float64((a ^ t) / y));
    	elseif (t <= 1.65e-159)
    		tmp = Float64(Float64(x / Float64(a * exp(b))) / y);
    	elseif (t <= 5.9e-21)
    		tmp = Float64(x * Float64((z ^ y) / y));
    	else
    		tmp = Float64(Float64(x * (a ^ Float64(t + -1.0))) / y);
    	end
    	return tmp
    end
    
    function tmp_2 = code(x, y, z, t, a, b)
    	tmp = 0.0;
    	if (t <= -1.65e+56)
    		tmp = x * ((a ^ t) / y);
    	elseif (t <= 1.65e-159)
    		tmp = (x / (a * exp(b))) / y;
    	elseif (t <= 5.9e-21)
    		tmp = x * ((z ^ y) / y);
    	else
    		tmp = (x * (a ^ (t + -1.0))) / y;
    	end
    	tmp_2 = tmp;
    end
    
    code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -1.65e+56], N[(x * N[(N[Power[a, t], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.65e-159], N[(N[(x / N[(a * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[t, 5.9e-21], N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(N[(x * N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;t \leq -1.65 \cdot 10^{+56}:\\
    \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\
    
    \mathbf{elif}\;t \leq 1.65 \cdot 10^{-159}:\\
    \;\;\;\;\frac{\frac{x}{a \cdot e^{b}}}{y}\\
    
    \mathbf{elif}\;t \leq 5.9 \cdot 10^{-21}:\\
    \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 4 regimes
    2. if t < -1.65000000000000001e56

      1. Initial program 100.0%

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(t \cdot \log a\right)}\right)\right), y\right) \]
      4. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\log a \cdot t\right)\right)\right), y\right) \]
        2. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\log a, t\right)\right)\right), y\right) \]
        3. log-lowering-log.f6487.7%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\mathsf{log.f64}\left(a\right), t\right)\right)\right), y\right) \]
      5. Simplified87.7%

        \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t}}}{y} \]
      6. Step-by-step derivation
        1. associate-/l*N/A

          \[\leadsto x \cdot \color{blue}{\frac{e^{\log a \cdot t}}{y}} \]
        2. *-commutativeN/A

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

          \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log a \cdot t}}{y}\right), \color{blue}{x}\right) \]
        4. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(e^{\log a \cdot t}\right), y\right), x\right) \]
        5. exp-to-powN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({a}^{t}\right), y\right), x\right) \]
        6. pow-lowering-pow.f6487.7%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(a, t\right), y\right), x\right) \]
      7. Applied egg-rr87.7%

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

      if -1.65000000000000001e56 < t < 1.6500000000000001e-159

      1. Initial program 98.5%

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

        \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
      4. Step-by-step derivation
        1. exp-diffN/A

          \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
        2. associate-/l*N/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
        3. *-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
        4. associate-/l*N/A

          \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
        5. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        6. exp-to-powN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        7. pow-lowering-pow.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        8. sub-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        9. metadata-evalN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        10. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        11. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
        12. exp-lowering-exp.f6474.7%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
      5. Simplified74.7%

        \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
      6. Taylor expanded in t around 0

        \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
      7. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
        2. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
        3. exp-lowering-exp.f6475.9%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
      8. Simplified75.9%

        \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]

      if 1.6500000000000001e-159 < t < 5.9000000000000003e-21

      1. Initial program 98.7%

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(y \cdot \log z\right)}\right)\right), y\right) \]
      4. Step-by-step derivation
        1. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \log z\right)\right)\right), y\right) \]
        2. log-lowering-log.f6473.8%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \mathsf{log.f64}\left(z\right)\right)\right)\right), y\right) \]
      5. Simplified73.8%

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

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

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

          \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{y \cdot \log z}}{y}\right), \color{blue}{x}\right) \]
        4. *-commutativeN/A

          \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log z \cdot y}}{y}\right), x\right) \]
        5. pow-to-expN/A

          \[\leadsto \mathsf{*.f64}\left(\left(\frac{{z}^{y}}{y}\right), x\right) \]
        6. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({z}^{y}\right), y\right), x\right) \]
        7. pow-lowering-pow.f6473.8%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(z, y\right), y\right), x\right) \]
      7. Applied egg-rr73.8%

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

      if 5.9000000000000003e-21 < t

      1. Initial program 99.9%

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

        \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
      4. Step-by-step derivation
        1. exp-diffN/A

          \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
        2. associate-/l*N/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
        3. *-commutativeN/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
        4. associate-/l*N/A

          \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
        5. *-lowering-*.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        6. exp-to-powN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        7. pow-lowering-pow.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        8. sub-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        9. metadata-evalN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        10. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
        11. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
        12. exp-lowering-exp.f6466.3%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
      5. Simplified66.3%

        \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
      6. Taylor expanded in b around 0

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
      7. Step-by-step derivation
        1. Simplified78.8%

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

        \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.65 \cdot 10^{+56}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \mathbf{elif}\;t \leq 1.65 \cdot 10^{-159}:\\ \;\;\;\;\frac{\frac{x}{a \cdot e^{b}}}{y}\\ \mathbf{elif}\;t \leq 5.9 \cdot 10^{-21}:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\ \end{array} \]
      10. Add Preprocessing

      Alternative 6: 72.9% accurate, 2.6× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{a}^{t}}{y}\\ \mathbf{if}\;t \leq -1.75 \cdot 10^{+56}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t \leq 2.4 \cdot 10^{-153}:\\ \;\;\;\;\frac{\frac{x}{a \cdot e^{b}}}{y}\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
      (FPCore (x y z t a b)
       :precision binary64
       (let* ((t_1 (* x (/ (pow a t) y))))
         (if (<= t -1.75e+56)
           t_1
           (if (<= t 2.4e-153)
             (/ (/ x (* a (exp b))) y)
             (if (<= t 0.00055) (* x (/ (pow z y) y)) t_1)))))
      double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (pow(a, t) / y);
      	double tmp;
      	if (t <= -1.75e+56) {
      		tmp = t_1;
      	} else if (t <= 2.4e-153) {
      		tmp = (x / (a * exp(b))) / y;
      	} else if (t <= 0.00055) {
      		tmp = x * (pow(z, y) / y);
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y, z, t, a, b)
          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), intent (in) :: b
          real(8) :: t_1
          real(8) :: tmp
          t_1 = x * ((a ** t) / y)
          if (t <= (-1.75d+56)) then
              tmp = t_1
          else if (t <= 2.4d-153) then
              tmp = (x / (a * exp(b))) / y
          else if (t <= 0.00055d0) then
              tmp = x * ((z ** y) / y)
          else
              tmp = t_1
          end if
          code = tmp
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (Math.pow(a, t) / y);
      	double tmp;
      	if (t <= -1.75e+56) {
      		tmp = t_1;
      	} else if (t <= 2.4e-153) {
      		tmp = (x / (a * Math.exp(b))) / y;
      	} else if (t <= 0.00055) {
      		tmp = x * (Math.pow(z, y) / y);
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      def code(x, y, z, t, a, b):
      	t_1 = x * (math.pow(a, t) / y)
      	tmp = 0
      	if t <= -1.75e+56:
      		tmp = t_1
      	elif t <= 2.4e-153:
      		tmp = (x / (a * math.exp(b))) / y
      	elif t <= 0.00055:
      		tmp = x * (math.pow(z, y) / y)
      	else:
      		tmp = t_1
      	return tmp
      
      function code(x, y, z, t, a, b)
      	t_1 = Float64(x * Float64((a ^ t) / y))
      	tmp = 0.0
      	if (t <= -1.75e+56)
      		tmp = t_1;
      	elseif (t <= 2.4e-153)
      		tmp = Float64(Float64(x / Float64(a * exp(b))) / y);
      	elseif (t <= 0.00055)
      		tmp = Float64(x * Float64((z ^ y) / y));
      	else
      		tmp = t_1;
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y, z, t, a, b)
      	t_1 = x * ((a ^ t) / y);
      	tmp = 0.0;
      	if (t <= -1.75e+56)
      		tmp = t_1;
      	elseif (t <= 2.4e-153)
      		tmp = (x / (a * exp(b))) / y;
      	elseif (t <= 0.00055)
      		tmp = x * ((z ^ y) / y);
      	else
      		tmp = t_1;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[a, t], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.75e+56], t$95$1, If[LessEqual[t, 2.4e-153], N[(N[(x / N[(a * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[t, 0.00055], N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_1 := x \cdot \frac{{a}^{t}}{y}\\
      \mathbf{if}\;t \leq -1.75 \cdot 10^{+56}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;t \leq 2.4 \cdot 10^{-153}:\\
      \;\;\;\;\frac{\frac{x}{a \cdot e^{b}}}{y}\\
      
      \mathbf{elif}\;t \leq 0.00055:\\
      \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_1\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if t < -1.75e56 or 5.50000000000000033e-4 < t

        1. Initial program 100.0%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(t \cdot \log a\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\log a \cdot t\right)\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\log a, t\right)\right)\right), y\right) \]
          3. log-lowering-log.f6483.7%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\mathsf{log.f64}\left(a\right), t\right)\right)\right), y\right) \]
        5. Simplified83.7%

          \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t}}}{y} \]
        6. Step-by-step derivation
          1. associate-/l*N/A

            \[\leadsto x \cdot \color{blue}{\frac{e^{\log a \cdot t}}{y}} \]
          2. *-commutativeN/A

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log a \cdot t}}{y}\right), \color{blue}{x}\right) \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(e^{\log a \cdot t}\right), y\right), x\right) \]
          5. exp-to-powN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({a}^{t}\right), y\right), x\right) \]
          6. pow-lowering-pow.f6483.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(a, t\right), y\right), x\right) \]
        7. Applied egg-rr83.7%

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

        if -1.75e56 < t < 2.4000000000000002e-153

        1. Initial program 98.5%

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

          \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
        4. Step-by-step derivation
          1. exp-diffN/A

            \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
          2. associate-/l*N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
          3. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
          4. associate-/l*N/A

            \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
          5. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          6. exp-to-powN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          7. pow-lowering-pow.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          8. sub-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          9. metadata-evalN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          10. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          11. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
          12. exp-lowering-exp.f6474.7%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
        5. Simplified74.7%

          \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
        6. Taylor expanded in t around 0

          \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
        7. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
          3. exp-lowering-exp.f6475.9%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
        8. Simplified75.9%

          \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]

        if 2.4000000000000002e-153 < t < 5.50000000000000033e-4

        1. Initial program 98.6%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(y \cdot \log z\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \log z\right)\right)\right), y\right) \]
          2. log-lowering-log.f6468.2%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \mathsf{log.f64}\left(z\right)\right)\right)\right), y\right) \]
        5. Simplified68.2%

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

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{y \cdot \log z}}{y}\right), \color{blue}{x}\right) \]
          4. *-commutativeN/A

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log z \cdot y}}{y}\right), x\right) \]
          5. pow-to-expN/A

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{{z}^{y}}{y}\right), x\right) \]
          6. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({z}^{y}\right), y\right), x\right) \]
          7. pow-lowering-pow.f6468.2%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(z, y\right), y\right), x\right) \]
        7. Applied egg-rr68.2%

          \[\leadsto \color{blue}{\frac{{z}^{y}}{y} \cdot x} \]
      3. Recombined 3 regimes into one program.
      4. Final simplification78.7%

        \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.75 \cdot 10^{+56}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \mathbf{elif}\;t \leq 2.4 \cdot 10^{-153}:\\ \;\;\;\;\frac{\frac{x}{a \cdot e^{b}}}{y}\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 7: 73.0% accurate, 2.6× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{a}^{t}}{y}\\ \mathbf{if}\;t \leq -1.35 \cdot 10^{+56}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t \leq 4.1 \cdot 10^{-154}:\\ \;\;\;\;\frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
      (FPCore (x y z t a b)
       :precision binary64
       (let* ((t_1 (* x (/ (pow a t) y))))
         (if (<= t -1.35e+56)
           t_1
           (if (<= t 4.1e-154)
             (/ x (* a (* y (exp b))))
             (if (<= t 0.00055) (* x (/ (pow z y) y)) t_1)))))
      double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (pow(a, t) / y);
      	double tmp;
      	if (t <= -1.35e+56) {
      		tmp = t_1;
      	} else if (t <= 4.1e-154) {
      		tmp = x / (a * (y * exp(b)));
      	} else if (t <= 0.00055) {
      		tmp = x * (pow(z, y) / y);
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y, z, t, a, b)
          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), intent (in) :: b
          real(8) :: t_1
          real(8) :: tmp
          t_1 = x * ((a ** t) / y)
          if (t <= (-1.35d+56)) then
              tmp = t_1
          else if (t <= 4.1d-154) then
              tmp = x / (a * (y * exp(b)))
          else if (t <= 0.00055d0) then
              tmp = x * ((z ** y) / y)
          else
              tmp = t_1
          end if
          code = tmp
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (Math.pow(a, t) / y);
      	double tmp;
      	if (t <= -1.35e+56) {
      		tmp = t_1;
      	} else if (t <= 4.1e-154) {
      		tmp = x / (a * (y * Math.exp(b)));
      	} else if (t <= 0.00055) {
      		tmp = x * (Math.pow(z, y) / y);
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      def code(x, y, z, t, a, b):
      	t_1 = x * (math.pow(a, t) / y)
      	tmp = 0
      	if t <= -1.35e+56:
      		tmp = t_1
      	elif t <= 4.1e-154:
      		tmp = x / (a * (y * math.exp(b)))
      	elif t <= 0.00055:
      		tmp = x * (math.pow(z, y) / y)
      	else:
      		tmp = t_1
      	return tmp
      
      function code(x, y, z, t, a, b)
      	t_1 = Float64(x * Float64((a ^ t) / y))
      	tmp = 0.0
      	if (t <= -1.35e+56)
      		tmp = t_1;
      	elseif (t <= 4.1e-154)
      		tmp = Float64(x / Float64(a * Float64(y * exp(b))));
      	elseif (t <= 0.00055)
      		tmp = Float64(x * Float64((z ^ y) / y));
      	else
      		tmp = t_1;
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y, z, t, a, b)
      	t_1 = x * ((a ^ t) / y);
      	tmp = 0.0;
      	if (t <= -1.35e+56)
      		tmp = t_1;
      	elseif (t <= 4.1e-154)
      		tmp = x / (a * (y * exp(b)));
      	elseif (t <= 0.00055)
      		tmp = x * ((z ^ y) / y);
      	else
      		tmp = t_1;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[a, t], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.35e+56], t$95$1, If[LessEqual[t, 4.1e-154], N[(x / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 0.00055], N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_1 := x \cdot \frac{{a}^{t}}{y}\\
      \mathbf{if}\;t \leq -1.35 \cdot 10^{+56}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;t \leq 4.1 \cdot 10^{-154}:\\
      \;\;\;\;\frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\
      
      \mathbf{elif}\;t \leq 0.00055:\\
      \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_1\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if t < -1.35000000000000005e56 or 5.50000000000000033e-4 < t

        1. Initial program 100.0%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(t \cdot \log a\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\log a \cdot t\right)\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\log a, t\right)\right)\right), y\right) \]
          3. log-lowering-log.f6483.7%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\mathsf{log.f64}\left(a\right), t\right)\right)\right), y\right) \]
        5. Simplified83.7%

          \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t}}}{y} \]
        6. Step-by-step derivation
          1. associate-/l*N/A

            \[\leadsto x \cdot \color{blue}{\frac{e^{\log a \cdot t}}{y}} \]
          2. *-commutativeN/A

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log a \cdot t}}{y}\right), \color{blue}{x}\right) \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(e^{\log a \cdot t}\right), y\right), x\right) \]
          5. exp-to-powN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({a}^{t}\right), y\right), x\right) \]
          6. pow-lowering-pow.f6483.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(a, t\right), y\right), x\right) \]
        7. Applied egg-rr83.7%

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

        if -1.35000000000000005e56 < t < 4.1e-154

        1. Initial program 98.5%

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

          \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
        4. Step-by-step derivation
          1. exp-diffN/A

            \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
          2. associate-/l*N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
          3. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
          4. associate-/l*N/A

            \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
          5. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          6. exp-to-powN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          7. pow-lowering-pow.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          8. sub-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          9. metadata-evalN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          10. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          11. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
          12. exp-lowering-exp.f6474.7%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
        5. Simplified74.7%

          \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
        6. Taylor expanded in t around 0

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

            \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot \left(y \cdot e^{b}\right)\right)}\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{\left(y \cdot e^{b}\right)}\right)\right) \]
          3. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{*.f64}\left(y, \color{blue}{\left(e^{b}\right)}\right)\right)\right) \]
          4. exp-lowering-exp.f6475.0%

            \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{*.f64}\left(y, \mathsf{exp.f64}\left(b\right)\right)\right)\right) \]
        8. Simplified75.0%

          \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot e^{b}\right)}} \]

        if 4.1e-154 < t < 5.50000000000000033e-4

        1. Initial program 98.6%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(y \cdot \log z\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \log z\right)\right)\right), y\right) \]
          2. log-lowering-log.f6468.2%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \mathsf{log.f64}\left(z\right)\right)\right)\right), y\right) \]
        5. Simplified68.2%

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

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{y \cdot \log z}}{y}\right), \color{blue}{x}\right) \]
          4. *-commutativeN/A

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log z \cdot y}}{y}\right), x\right) \]
          5. pow-to-expN/A

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{{z}^{y}}{y}\right), x\right) \]
          6. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({z}^{y}\right), y\right), x\right) \]
          7. pow-lowering-pow.f6468.2%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(z, y\right), y\right), x\right) \]
        7. Applied egg-rr68.2%

          \[\leadsto \color{blue}{\frac{{z}^{y}}{y} \cdot x} \]
      3. Recombined 3 regimes into one program.
      4. Final simplification78.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.35 \cdot 10^{+56}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \mathbf{elif}\;t \leq 4.1 \cdot 10^{-154}:\\ \;\;\;\;\frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 8: 65.3% accurate, 2.6× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{a}^{t}}{y}\\ \mathbf{if}\;t \leq -1.3 \cdot 10^{+56}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t \leq 2.7 \cdot 10^{-155}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
      (FPCore (x y z t a b)
       :precision binary64
       (let* ((t_1 (* x (/ (pow a t) y))))
         (if (<= t -1.3e+56)
           t_1
           (if (<= t 2.7e-155)
             (/ (/ x (exp b)) y)
             (if (<= t 0.00055) (* x (/ (pow z y) y)) t_1)))))
      double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (pow(a, t) / y);
      	double tmp;
      	if (t <= -1.3e+56) {
      		tmp = t_1;
      	} else if (t <= 2.7e-155) {
      		tmp = (x / exp(b)) / y;
      	} else if (t <= 0.00055) {
      		tmp = x * (pow(z, y) / y);
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y, z, t, a, b)
          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), intent (in) :: b
          real(8) :: t_1
          real(8) :: tmp
          t_1 = x * ((a ** t) / y)
          if (t <= (-1.3d+56)) then
              tmp = t_1
          else if (t <= 2.7d-155) then
              tmp = (x / exp(b)) / y
          else if (t <= 0.00055d0) then
              tmp = x * ((z ** y) / y)
          else
              tmp = t_1
          end if
          code = tmp
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (Math.pow(a, t) / y);
      	double tmp;
      	if (t <= -1.3e+56) {
      		tmp = t_1;
      	} else if (t <= 2.7e-155) {
      		tmp = (x / Math.exp(b)) / y;
      	} else if (t <= 0.00055) {
      		tmp = x * (Math.pow(z, y) / y);
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      def code(x, y, z, t, a, b):
      	t_1 = x * (math.pow(a, t) / y)
      	tmp = 0
      	if t <= -1.3e+56:
      		tmp = t_1
      	elif t <= 2.7e-155:
      		tmp = (x / math.exp(b)) / y
      	elif t <= 0.00055:
      		tmp = x * (math.pow(z, y) / y)
      	else:
      		tmp = t_1
      	return tmp
      
      function code(x, y, z, t, a, b)
      	t_1 = Float64(x * Float64((a ^ t) / y))
      	tmp = 0.0
      	if (t <= -1.3e+56)
      		tmp = t_1;
      	elseif (t <= 2.7e-155)
      		tmp = Float64(Float64(x / exp(b)) / y);
      	elseif (t <= 0.00055)
      		tmp = Float64(x * Float64((z ^ y) / y));
      	else
      		tmp = t_1;
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y, z, t, a, b)
      	t_1 = x * ((a ^ t) / y);
      	tmp = 0.0;
      	if (t <= -1.3e+56)
      		tmp = t_1;
      	elseif (t <= 2.7e-155)
      		tmp = (x / exp(b)) / y;
      	elseif (t <= 0.00055)
      		tmp = x * ((z ^ y) / y);
      	else
      		tmp = t_1;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[a, t], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.3e+56], t$95$1, If[LessEqual[t, 2.7e-155], N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[t, 0.00055], N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_1 := x \cdot \frac{{a}^{t}}{y}\\
      \mathbf{if}\;t \leq -1.3 \cdot 10^{+56}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;t \leq 2.7 \cdot 10^{-155}:\\
      \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\
      
      \mathbf{elif}\;t \leq 0.00055:\\
      \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_1\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if t < -1.30000000000000005e56 or 5.50000000000000033e-4 < t

        1. Initial program 100.0%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(t \cdot \log a\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\log a \cdot t\right)\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\log a, t\right)\right)\right), y\right) \]
          3. log-lowering-log.f6483.7%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\mathsf{log.f64}\left(a\right), t\right)\right)\right), y\right) \]
        5. Simplified83.7%

          \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t}}}{y} \]
        6. Step-by-step derivation
          1. associate-/l*N/A

            \[\leadsto x \cdot \color{blue}{\frac{e^{\log a \cdot t}}{y}} \]
          2. *-commutativeN/A

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log a \cdot t}}{y}\right), \color{blue}{x}\right) \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(e^{\log a \cdot t}\right), y\right), x\right) \]
          5. exp-to-powN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({a}^{t}\right), y\right), x\right) \]
          6. pow-lowering-pow.f6483.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(a, t\right), y\right), x\right) \]
        7. Applied egg-rr83.7%

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

        if -1.30000000000000005e56 < t < 2.69999999999999981e-155

        1. Initial program 98.5%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
          2. neg-sub0N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
          3. --lowering--.f6457.8%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
        5. Simplified57.8%

          \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
        6. Step-by-step derivation
          1. sub0-negN/A

            \[\leadsto \frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y} \]
          2. rec-expN/A

            \[\leadsto \frac{x \cdot \frac{1}{e^{b}}}{y} \]
          3. div-invN/A

            \[\leadsto \frac{\frac{x}{e^{b}}}{y} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{x}{e^{b}}\right), \color{blue}{y}\right) \]
          5. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(e^{b}\right)\right), y\right) \]
          6. exp-lowering-exp.f6457.8%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right), y\right) \]
        7. Applied egg-rr57.8%

          \[\leadsto \color{blue}{\frac{\frac{x}{e^{b}}}{y}} \]

        if 2.69999999999999981e-155 < t < 5.50000000000000033e-4

        1. Initial program 98.6%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(y \cdot \log z\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \log z\right)\right)\right), y\right) \]
          2. log-lowering-log.f6468.2%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(y, \mathsf{log.f64}\left(z\right)\right)\right)\right), y\right) \]
        5. Simplified68.2%

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

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{y \cdot \log z}}{y}\right), \color{blue}{x}\right) \]
          4. *-commutativeN/A

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log z \cdot y}}{y}\right), x\right) \]
          5. pow-to-expN/A

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{{z}^{y}}{y}\right), x\right) \]
          6. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({z}^{y}\right), y\right), x\right) \]
          7. pow-lowering-pow.f6468.2%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(z, y\right), y\right), x\right) \]
        7. Applied egg-rr68.2%

          \[\leadsto \color{blue}{\frac{{z}^{y}}{y} \cdot x} \]
      3. Recombined 3 regimes into one program.
      4. Final simplification72.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.3 \cdot 10^{+56}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \mathbf{elif}\;t \leq 2.7 \cdot 10^{-155}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \mathbf{elif}\;t \leq 0.00055:\\ \;\;\;\;x \cdot \frac{{z}^{y}}{y}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 9: 63.5% accurate, 2.6× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{a}^{t}}{y}\\ \mathbf{if}\;t \leq -1.75 \cdot 10^{+56}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t \leq 8.2 \cdot 10^{-120}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \mathbf{elif}\;t \leq 3.4 \cdot 10^{-14}:\\ \;\;\;\;\frac{1}{\frac{\frac{y \cdot -6}{x}}{b \cdot \left(b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
      (FPCore (x y z t a b)
       :precision binary64
       (let* ((t_1 (* x (/ (pow a t) y))))
         (if (<= t -1.75e+56)
           t_1
           (if (<= t 8.2e-120)
             (/ (/ x (exp b)) y)
             (if (<= t 3.4e-14) (/ 1.0 (/ (/ (* y -6.0) x) (* b (* b b)))) t_1)))))
      double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (pow(a, t) / y);
      	double tmp;
      	if (t <= -1.75e+56) {
      		tmp = t_1;
      	} else if (t <= 8.2e-120) {
      		tmp = (x / exp(b)) / y;
      	} else if (t <= 3.4e-14) {
      		tmp = 1.0 / (((y * -6.0) / x) / (b * (b * b)));
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y, z, t, a, b)
          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), intent (in) :: b
          real(8) :: t_1
          real(8) :: tmp
          t_1 = x * ((a ** t) / y)
          if (t <= (-1.75d+56)) then
              tmp = t_1
          else if (t <= 8.2d-120) then
              tmp = (x / exp(b)) / y
          else if (t <= 3.4d-14) then
              tmp = 1.0d0 / (((y * (-6.0d0)) / x) / (b * (b * b)))
          else
              tmp = t_1
          end if
          code = tmp
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = x * (Math.pow(a, t) / y);
      	double tmp;
      	if (t <= -1.75e+56) {
      		tmp = t_1;
      	} else if (t <= 8.2e-120) {
      		tmp = (x / Math.exp(b)) / y;
      	} else if (t <= 3.4e-14) {
      		tmp = 1.0 / (((y * -6.0) / x) / (b * (b * b)));
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      def code(x, y, z, t, a, b):
      	t_1 = x * (math.pow(a, t) / y)
      	tmp = 0
      	if t <= -1.75e+56:
      		tmp = t_1
      	elif t <= 8.2e-120:
      		tmp = (x / math.exp(b)) / y
      	elif t <= 3.4e-14:
      		tmp = 1.0 / (((y * -6.0) / x) / (b * (b * b)))
      	else:
      		tmp = t_1
      	return tmp
      
      function code(x, y, z, t, a, b)
      	t_1 = Float64(x * Float64((a ^ t) / y))
      	tmp = 0.0
      	if (t <= -1.75e+56)
      		tmp = t_1;
      	elseif (t <= 8.2e-120)
      		tmp = Float64(Float64(x / exp(b)) / y);
      	elseif (t <= 3.4e-14)
      		tmp = Float64(1.0 / Float64(Float64(Float64(y * -6.0) / x) / Float64(b * Float64(b * b))));
      	else
      		tmp = t_1;
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y, z, t, a, b)
      	t_1 = x * ((a ^ t) / y);
      	tmp = 0.0;
      	if (t <= -1.75e+56)
      		tmp = t_1;
      	elseif (t <= 8.2e-120)
      		tmp = (x / exp(b)) / y;
      	elseif (t <= 3.4e-14)
      		tmp = 1.0 / (((y * -6.0) / x) / (b * (b * b)));
      	else
      		tmp = t_1;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[a, t], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.75e+56], t$95$1, If[LessEqual[t, 8.2e-120], N[(N[(x / N[Exp[b], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[t, 3.4e-14], N[(1.0 / N[(N[(N[(y * -6.0), $MachinePrecision] / x), $MachinePrecision] / N[(b * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_1 := x \cdot \frac{{a}^{t}}{y}\\
      \mathbf{if}\;t \leq -1.75 \cdot 10^{+56}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;t \leq 8.2 \cdot 10^{-120}:\\
      \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\
      
      \mathbf{elif}\;t \leq 3.4 \cdot 10^{-14}:\\
      \;\;\;\;\frac{1}{\frac{\frac{y \cdot -6}{x}}{b \cdot \left(b \cdot b\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_1\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if t < -1.75e56 or 3.40000000000000003e-14 < t

        1. Initial program 100.0%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(t \cdot \log a\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\log a \cdot t\right)\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\log a, t\right)\right)\right), y\right) \]
          3. log-lowering-log.f6483.1%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{*.f64}\left(\mathsf{log.f64}\left(a\right), t\right)\right)\right), y\right) \]
        5. Simplified83.1%

          \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t}}}{y} \]
        6. Step-by-step derivation
          1. associate-/l*N/A

            \[\leadsto x \cdot \color{blue}{\frac{e^{\log a \cdot t}}{y}} \]
          2. *-commutativeN/A

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

            \[\leadsto \mathsf{*.f64}\left(\left(\frac{e^{\log a \cdot t}}{y}\right), \color{blue}{x}\right) \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(e^{\log a \cdot t}\right), y\right), x\right) \]
          5. exp-to-powN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left({a}^{t}\right), y\right), x\right) \]
          6. pow-lowering-pow.f6483.1%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(a, t\right), y\right), x\right) \]
        7. Applied egg-rr83.1%

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

        if -1.75e56 < t < 8.20000000000000068e-120

        1. Initial program 98.6%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
          2. neg-sub0N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
          3. --lowering--.f6455.5%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
        5. Simplified55.5%

          \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
        6. Step-by-step derivation
          1. sub0-negN/A

            \[\leadsto \frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y} \]
          2. rec-expN/A

            \[\leadsto \frac{x \cdot \frac{1}{e^{b}}}{y} \]
          3. div-invN/A

            \[\leadsto \frac{\frac{x}{e^{b}}}{y} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{x}{e^{b}}\right), \color{blue}{y}\right) \]
          5. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(e^{b}\right)\right), y\right) \]
          6. exp-lowering-exp.f6455.5%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right), y\right) \]
        7. Applied egg-rr55.5%

          \[\leadsto \color{blue}{\frac{\frac{x}{e^{b}}}{y}} \]

        if 8.20000000000000068e-120 < t < 3.40000000000000003e-14

        1. Initial program 98.3%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
          2. neg-sub0N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
          3. --lowering--.f6436.2%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
        5. Simplified36.2%

          \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
        6. Taylor expanded in b around 0

          \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
        7. Step-by-step derivation
          1. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
          3. mul-1-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
          4. +-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
          5. unsub-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
          6. --lowering--.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
          7. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
          8. associate-*r*N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
          9. distribute-rgt-outN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
          10. +-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
          11. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
          12. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
          13. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
          14. *-lowering-*.f6426.8%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
        8. Simplified26.8%

          \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
        9. Step-by-step derivation
          1. clear-numN/A

            \[\leadsto \frac{1}{\color{blue}{\frac{y}{x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}}} \]
          2. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{y}{x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}\right)}\right) \]
          3. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \color{blue}{\left(x + b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)}\right)\right) \]
          4. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \color{blue}{\left(b \cdot \left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)\right)}\right)\right)\right) \]
          5. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \color{blue}{\left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right) - x\right)}\right)\right)\right)\right) \]
          6. --lowering--.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right)\right), \color{blue}{x}\right)\right)\right)\right)\right) \]
          7. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right)\right), x\right)\right)\right)\right)\right) \]
          8. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + b \cdot \frac{-1}{6}\right)\right)\right), x\right)\right)\right)\right)\right) \]
          9. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right)\right)\right) \]
          10. *-lowering-*.f6428.6%

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right)\right)\right) \]
        10. Applied egg-rr28.6%

          \[\leadsto \color{blue}{\frac{1}{\frac{y}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}} \]
        11. Taylor expanded in b around inf

          \[\leadsto \mathsf{/.f64}\left(1, \color{blue}{\left(-6 \cdot \frac{y}{{b}^{3} \cdot x}\right)}\right) \]
        12. Step-by-step derivation
          1. associate-*r/N/A

            \[\leadsto \mathsf{/.f64}\left(1, \left(\frac{-6 \cdot y}{\color{blue}{{b}^{3} \cdot x}}\right)\right) \]
          2. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(1, \left(\frac{-6 \cdot y}{x \cdot \color{blue}{{b}^{3}}}\right)\right) \]
          3. associate-/r*N/A

            \[\leadsto \mathsf{/.f64}\left(1, \left(\frac{\frac{-6 \cdot y}{x}}{\color{blue}{{b}^{3}}}\right)\right) \]
          4. associate-*r/N/A

            \[\leadsto \mathsf{/.f64}\left(1, \left(\frac{-6 \cdot \frac{y}{x}}{{\color{blue}{b}}^{3}}\right)\right) \]
          5. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\left(-6 \cdot \frac{y}{x}\right), \color{blue}{\left({b}^{3}\right)}\right)\right) \]
          6. associate-*r/N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\left(\frac{-6 \cdot y}{x}\right), \left({\color{blue}{b}}^{3}\right)\right)\right) \]
          7. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(-6 \cdot y\right), x\right), \left({\color{blue}{b}}^{3}\right)\right)\right) \]
          8. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(y \cdot -6\right), x\right), \left({b}^{3}\right)\right)\right) \]
          9. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(y, -6\right), x\right), \left({b}^{3}\right)\right)\right) \]
          10. cube-multN/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(y, -6\right), x\right), \left(b \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)\right) \]
          11. unpow2N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(y, -6\right), x\right), \left(b \cdot {b}^{\color{blue}{2}}\right)\right)\right) \]
          12. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(y, -6\right), x\right), \mathsf{*.f64}\left(b, \color{blue}{\left({b}^{2}\right)}\right)\right)\right) \]
          13. unpow2N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(y, -6\right), x\right), \mathsf{*.f64}\left(b, \left(b \cdot \color{blue}{b}\right)\right)\right)\right) \]
          14. *-lowering-*.f6453.0%

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(y, -6\right), x\right), \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, \color{blue}{b}\right)\right)\right)\right) \]
        13. Simplified53.0%

          \[\leadsto \frac{1}{\color{blue}{\frac{\frac{y \cdot -6}{x}}{b \cdot \left(b \cdot b\right)}}} \]
      3. Recombined 3 regimes into one program.
      4. Final simplification69.0%

        \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -1.75 \cdot 10^{+56}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \mathbf{elif}\;t \leq 8.2 \cdot 10^{-120}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \mathbf{elif}\;t \leq 3.4 \cdot 10^{-14}:\\ \;\;\;\;\frac{1}{\frac{\frac{y \cdot -6}{x}}{b \cdot \left(b \cdot b\right)}}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{{a}^{t}}{y}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 10: 43.3% accurate, 11.6× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{if}\;b \leq -4.6 \cdot 10^{+92}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-231}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.4 \cdot 10^{-247}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq 8 \cdot 10^{+135}:\\ \;\;\;\;\frac{x \cdot \frac{1}{a}}{y}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{x}{y \cdot b}\\ \end{array} \end{array} \]
      (FPCore (x y z t a b)
       :precision binary64
       (let* ((t_1 (/ (* x (* (* b b) 0.5)) y)))
         (if (<= b -4.6e+92)
           t_1
           (if (<= b -3.8e-231)
             (/ x (* y a))
             (if (<= b 1.4e-247)
               t_1
               (if (<= b 8e+135) (/ (* x (/ 1.0 a)) y) (* b (/ x (* y b)))))))))
      double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = (x * ((b * b) * 0.5)) / y;
      	double tmp;
      	if (b <= -4.6e+92) {
      		tmp = t_1;
      	} else if (b <= -3.8e-231) {
      		tmp = x / (y * a);
      	} else if (b <= 1.4e-247) {
      		tmp = t_1;
      	} else if (b <= 8e+135) {
      		tmp = (x * (1.0 / a)) / y;
      	} else {
      		tmp = b * (x / (y * b));
      	}
      	return tmp;
      }
      
      real(8) function code(x, y, z, t, a, b)
          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), intent (in) :: b
          real(8) :: t_1
          real(8) :: tmp
          t_1 = (x * ((b * b) * 0.5d0)) / y
          if (b <= (-4.6d+92)) then
              tmp = t_1
          else if (b <= (-3.8d-231)) then
              tmp = x / (y * a)
          else if (b <= 1.4d-247) then
              tmp = t_1
          else if (b <= 8d+135) then
              tmp = (x * (1.0d0 / a)) / y
          else
              tmp = b * (x / (y * b))
          end if
          code = tmp
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	double t_1 = (x * ((b * b) * 0.5)) / y;
      	double tmp;
      	if (b <= -4.6e+92) {
      		tmp = t_1;
      	} else if (b <= -3.8e-231) {
      		tmp = x / (y * a);
      	} else if (b <= 1.4e-247) {
      		tmp = t_1;
      	} else if (b <= 8e+135) {
      		tmp = (x * (1.0 / a)) / y;
      	} else {
      		tmp = b * (x / (y * b));
      	}
      	return tmp;
      }
      
      def code(x, y, z, t, a, b):
      	t_1 = (x * ((b * b) * 0.5)) / y
      	tmp = 0
      	if b <= -4.6e+92:
      		tmp = t_1
      	elif b <= -3.8e-231:
      		tmp = x / (y * a)
      	elif b <= 1.4e-247:
      		tmp = t_1
      	elif b <= 8e+135:
      		tmp = (x * (1.0 / a)) / y
      	else:
      		tmp = b * (x / (y * b))
      	return tmp
      
      function code(x, y, z, t, a, b)
      	t_1 = Float64(Float64(x * Float64(Float64(b * b) * 0.5)) / y)
      	tmp = 0.0
      	if (b <= -4.6e+92)
      		tmp = t_1;
      	elseif (b <= -3.8e-231)
      		tmp = Float64(x / Float64(y * a));
      	elseif (b <= 1.4e-247)
      		tmp = t_1;
      	elseif (b <= 8e+135)
      		tmp = Float64(Float64(x * Float64(1.0 / a)) / y);
      	else
      		tmp = Float64(b * Float64(x / Float64(y * b)));
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y, z, t, a, b)
      	t_1 = (x * ((b * b) * 0.5)) / y;
      	tmp = 0.0;
      	if (b <= -4.6e+92)
      		tmp = t_1;
      	elseif (b <= -3.8e-231)
      		tmp = x / (y * a);
      	elseif (b <= 1.4e-247)
      		tmp = t_1;
      	elseif (b <= 8e+135)
      		tmp = (x * (1.0 / a)) / y;
      	else
      		tmp = b * (x / (y * b));
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[(N[(b * b), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -4.6e+92], t$95$1, If[LessEqual[b, -3.8e-231], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.4e-247], t$95$1, If[LessEqual[b, 8e+135], N[(N[(x * N[(1.0 / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(b * N[(x / N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_1 := \frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\
      \mathbf{if}\;b \leq -4.6 \cdot 10^{+92}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;b \leq -3.8 \cdot 10^{-231}:\\
      \;\;\;\;\frac{x}{y \cdot a}\\
      
      \mathbf{elif}\;b \leq 1.4 \cdot 10^{-247}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;b \leq 8 \cdot 10^{+135}:\\
      \;\;\;\;\frac{x \cdot \frac{1}{a}}{y}\\
      
      \mathbf{else}:\\
      \;\;\;\;b \cdot \frac{x}{y \cdot b}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 4 regimes
      2. if b < -4.59999999999999997e92 or -3.80000000000000013e-231 < b < 1.39999999999999993e-247

        1. Initial program 99.8%

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
        4. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
          2. neg-sub0N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
          3. --lowering--.f6457.1%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
        5. Simplified57.1%

          \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
        6. Taylor expanded in b around 0

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(1 + b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)}\right), y\right) \]
        7. Step-by-step derivation
          1. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \left(b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right)\right), y\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + -1\right)\right)\right)\right), y\right) \]
          5. +-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(-1 + \frac{1}{2} \cdot b\right)\right)\right)\right), y\right) \]
          6. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(\frac{1}{2} \cdot b\right)\right)\right)\right)\right), y\right) \]
          7. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(b \cdot \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
          8. *-lowering-*.f6450.9%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(b, \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
        8. Simplified50.9%

          \[\leadsto \frac{x \cdot \color{blue}{\left(1 + b \cdot \left(-1 + b \cdot 0.5\right)\right)}}{y} \]
        9. Taylor expanded in b around inf

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(\frac{1}{2} \cdot {b}^{2}\right)}\right), y\right) \]
        10. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left({b}^{2}\right)\right)\right), y\right) \]
          2. unpow2N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left(b \cdot b\right)\right)\right), y\right) \]
          3. *-lowering-*.f6463.2%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right) \]
        11. Simplified63.2%

          \[\leadsto \frac{x \cdot \color{blue}{\left(0.5 \cdot \left(b \cdot b\right)\right)}}{y} \]

        if -4.59999999999999997e92 < b < -3.80000000000000013e-231

        1. Initial program 98.8%

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

          \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
        4. Step-by-step derivation
          1. exp-diffN/A

            \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
          2. associate-/l*N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
          3. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
          4. associate-/l*N/A

            \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
          5. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          6. exp-to-powN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          7. pow-lowering-pow.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          8. sub-negN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          9. metadata-evalN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          10. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
          11. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
          12. exp-lowering-exp.f6464.1%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
        5. Simplified64.1%

          \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
        6. Taylor expanded in b around 0

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
        7. Step-by-step derivation
          1. Simplified68.7%

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

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

              \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
            2. *-lowering-*.f6438.8%

              \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
          4. Simplified38.8%

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

          if 1.39999999999999993e-247 < b < 7.99999999999999969e135

          1. Initial program 98.6%

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

            \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
          4. Step-by-step derivation
            1. exp-diffN/A

              \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
            2. associate-/l*N/A

              \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
            3. *-commutativeN/A

              \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
            4. associate-/l*N/A

              \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
            5. *-lowering-*.f64N/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
            6. exp-to-powN/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
            7. pow-lowering-pow.f64N/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
            8. sub-negN/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
            9. metadata-evalN/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
            10. +-lowering-+.f64N/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
            11. /-lowering-/.f64N/A

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
            12. exp-lowering-exp.f6467.3%

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
          5. Simplified67.3%

            \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
          6. Taylor expanded in b around 0

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
          7. Step-by-step derivation
            1. Simplified60.3%

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

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\color{blue}{\left(\frac{1}{a}\right)}, x\right), y\right) \]
            3. Step-by-step derivation
              1. /-lowering-/.f6435.5%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, a\right), x\right), y\right) \]
            4. Simplified35.5%

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

            if 7.99999999999999969e135 < b

            1. Initial program 100.0%

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

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
            4. Step-by-step derivation
              1. mul-1-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
              2. neg-sub0N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
              3. --lowering--.f6485.9%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
            5. Simplified85.9%

              \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
            6. Taylor expanded in b around 0

              \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
            7. Step-by-step derivation
              1. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
              2. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
              3. mul-1-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
              4. +-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
              5. unsub-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
              6. --lowering--.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
              7. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
              8. associate-*r*N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
              9. distribute-rgt-outN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
              10. +-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
              11. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
              12. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
              13. *-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
              14. *-lowering-*.f641.3%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
            8. Simplified1.3%

              \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
            9. Taylor expanded in b around inf

              \[\leadsto \color{blue}{{b}^{3} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)} \]
            10. Step-by-step derivation
              1. cube-multN/A

                \[\leadsto \left(b \cdot \left(b \cdot b\right)\right) \cdot \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right) \]
              2. unpow2N/A

                \[\leadsto \left(b \cdot {b}^{2}\right) \cdot \left(-1 \cdot \color{blue}{\frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right) \]
              3. associate-*l*N/A

                \[\leadsto b \cdot \color{blue}{\left({b}^{2} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)} \]
              4. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(b, \color{blue}{\left({b}^{2} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)}\right) \]
              5. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left({b}^{2}\right), \color{blue}{\left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)}\right)\right) \]
              6. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left(b \cdot b\right), \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)\right) \]
              7. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)\right) \]
              8. +-commutativeN/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right) + \color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}}\right)\right)\right) \]
              9. associate-+r+N/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\left(\left(\frac{-1}{6} \cdot \frac{x}{y} + \frac{1}{2} \cdot \frac{x}{b \cdot y}\right) + \frac{x}{{b}^{3} \cdot y}\right) + \color{blue}{-1} \cdot \frac{x}{{b}^{2} \cdot y}\right)\right)\right) \]
            11. Simplified1.3%

              \[\leadsto \color{blue}{b \cdot \left(\left(b \cdot b\right) \cdot \left(\frac{x}{y} \cdot \left(-0.16666666666666666 + \frac{0.5}{b}\right) + \left(\frac{x}{b \cdot \left(y \cdot \left(b \cdot b\right)\right)} - \frac{x}{y \cdot \left(b \cdot b\right)}\right)\right)\right)} \]
            12. Taylor expanded in b around 0

              \[\leadsto \mathsf{*.f64}\left(b, \color{blue}{\left(\frac{x}{b \cdot y}\right)}\right) \]
            13. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(x, \color{blue}{\left(b \cdot y\right)}\right)\right) \]
              2. *-commutativeN/A

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(x, \left(y \cdot \color{blue}{b}\right)\right)\right) \]
              3. *-lowering-*.f6442.0%

                \[\leadsto \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{b}\right)\right)\right) \]
            14. Simplified42.0%

              \[\leadsto b \cdot \color{blue}{\frac{x}{y \cdot b}} \]
          8. Recombined 4 regimes into one program.
          9. Final simplification45.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -4.6 \cdot 10^{+92}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-231}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.4 \cdot 10^{-247}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{elif}\;b \leq 8 \cdot 10^{+135}:\\ \;\;\;\;\frac{x \cdot \frac{1}{a}}{y}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{x}{y \cdot b}\\ \end{array} \]
          10. Add Preprocessing

          Alternative 11: 44.5% accurate, 13.1× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq -1.95 \cdot 10^{-31}:\\ \;\;\;\;\left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)\right) \cdot \frac{x}{y}\\ \mathbf{elif}\;b \leq -4.2 \cdot 10^{-226}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.8 \cdot 10^{-247}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \end{array} \]
          (FPCore (x y z t a b)
           :precision binary64
           (if (<= b -1.95e-31)
             (* (* b (* (* b b) -0.16666666666666666)) (/ x y))
             (if (<= b -4.2e-226)
               (/ x (* y a))
               (if (<= b 1.8e-247)
                 (/ (* x (* (* b b) 0.5)) y)
                 (/ (/ x (* a (+ 1.0 b))) y)))))
          double code(double x, double y, double z, double t, double a, double b) {
          	double tmp;
          	if (b <= -1.95e-31) {
          		tmp = (b * ((b * b) * -0.16666666666666666)) * (x / y);
          	} else if (b <= -4.2e-226) {
          		tmp = x / (y * a);
          	} else if (b <= 1.8e-247) {
          		tmp = (x * ((b * b) * 0.5)) / y;
          	} else {
          		tmp = (x / (a * (1.0 + b))) / y;
          	}
          	return tmp;
          }
          
          real(8) function code(x, y, z, t, a, b)
              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), intent (in) :: b
              real(8) :: tmp
              if (b <= (-1.95d-31)) then
                  tmp = (b * ((b * b) * (-0.16666666666666666d0))) * (x / y)
              else if (b <= (-4.2d-226)) then
                  tmp = x / (y * a)
              else if (b <= 1.8d-247) then
                  tmp = (x * ((b * b) * 0.5d0)) / y
              else
                  tmp = (x / (a * (1.0d0 + b))) / y
              end if
              code = tmp
          end function
          
          public static double code(double x, double y, double z, double t, double a, double b) {
          	double tmp;
          	if (b <= -1.95e-31) {
          		tmp = (b * ((b * b) * -0.16666666666666666)) * (x / y);
          	} else if (b <= -4.2e-226) {
          		tmp = x / (y * a);
          	} else if (b <= 1.8e-247) {
          		tmp = (x * ((b * b) * 0.5)) / y;
          	} else {
          		tmp = (x / (a * (1.0 + b))) / y;
          	}
          	return tmp;
          }
          
          def code(x, y, z, t, a, b):
          	tmp = 0
          	if b <= -1.95e-31:
          		tmp = (b * ((b * b) * -0.16666666666666666)) * (x / y)
          	elif b <= -4.2e-226:
          		tmp = x / (y * a)
          	elif b <= 1.8e-247:
          		tmp = (x * ((b * b) * 0.5)) / y
          	else:
          		tmp = (x / (a * (1.0 + b))) / y
          	return tmp
          
          function code(x, y, z, t, a, b)
          	tmp = 0.0
          	if (b <= -1.95e-31)
          		tmp = Float64(Float64(b * Float64(Float64(b * b) * -0.16666666666666666)) * Float64(x / y));
          	elseif (b <= -4.2e-226)
          		tmp = Float64(x / Float64(y * a));
          	elseif (b <= 1.8e-247)
          		tmp = Float64(Float64(x * Float64(Float64(b * b) * 0.5)) / y);
          	else
          		tmp = Float64(Float64(x / Float64(a * Float64(1.0 + b))) / y);
          	end
          	return tmp
          end
          
          function tmp_2 = code(x, y, z, t, a, b)
          	tmp = 0.0;
          	if (b <= -1.95e-31)
          		tmp = (b * ((b * b) * -0.16666666666666666)) * (x / y);
          	elseif (b <= -4.2e-226)
          		tmp = x / (y * a);
          	elseif (b <= 1.8e-247)
          		tmp = (x * ((b * b) * 0.5)) / y;
          	else
          		tmp = (x / (a * (1.0 + b))) / y;
          	end
          	tmp_2 = tmp;
          end
          
          code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.95e-31], N[(N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] * N[(x / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -4.2e-226], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.8e-247], N[(N[(x * N[(N[(b * b), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x / N[(a * N[(1.0 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;b \leq -1.95 \cdot 10^{-31}:\\
          \;\;\;\;\left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)\right) \cdot \frac{x}{y}\\
          
          \mathbf{elif}\;b \leq -4.2 \cdot 10^{-226}:\\
          \;\;\;\;\frac{x}{y \cdot a}\\
          
          \mathbf{elif}\;b \leq 1.8 \cdot 10^{-247}:\\
          \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\
          
          \mathbf{else}:\\
          \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 4 regimes
          2. if b < -1.9500000000000001e-31

            1. Initial program 100.0%

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

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
            4. Step-by-step derivation
              1. mul-1-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
              2. neg-sub0N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
              3. --lowering--.f6466.5%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
            5. Simplified66.5%

              \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
            6. Taylor expanded in b around 0

              \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
            7. Step-by-step derivation
              1. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
              2. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
              3. mul-1-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
              4. +-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
              5. unsub-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
              6. --lowering--.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
              7. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
              8. associate-*r*N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
              9. distribute-rgt-outN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
              10. +-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
              11. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
              12. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
              13. *-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
              14. *-lowering-*.f6454.1%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
            8. Simplified54.1%

              \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
            9. Taylor expanded in b around inf

              \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{-1}{6} \cdot \left({b}^{3} \cdot x\right)\right)}, y\right) \]
            10. Step-by-step derivation
              1. associate-*r*N/A

                \[\leadsto \mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot {b}^{3}\right) \cdot x\right), y\right) \]
              2. *-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
              3. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
              4. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left({b}^{3}\right)\right)\right), y\right) \]
              5. cube-multN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot \left(b \cdot b\right)\right)\right)\right), y\right) \]
              6. unpow2N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot {b}^{2}\right)\right)\right), y\right) \]
              7. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left({b}^{2}\right)\right)\right)\right), y\right) \]
              8. unpow2N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left(b \cdot b\right)\right)\right)\right), y\right) \]
              9. *-lowering-*.f6456.3%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, b\right)\right)\right)\right), y\right) \]
            11. Simplified56.3%

              \[\leadsto \frac{\color{blue}{x \cdot \left(-0.16666666666666666 \cdot \left(b \cdot \left(b \cdot b\right)\right)\right)}}{y} \]
            12. Step-by-step derivation
              1. *-commutativeN/A

                \[\leadsto \frac{\left(\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)\right) \cdot x}{y} \]
              2. associate-/l*N/A

                \[\leadsto \left(\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)\right) \cdot \color{blue}{\frac{x}{y}} \]
              3. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\left(\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)\right), \color{blue}{\left(\frac{x}{y}\right)}\right) \]
              4. associate-*r*N/A

                \[\leadsto \mathsf{*.f64}\left(\left(\left(\frac{-1}{6} \cdot b\right) \cdot \left(b \cdot b\right)\right), \left(\frac{\color{blue}{x}}{y}\right)\right) \]
              5. *-commutativeN/A

                \[\leadsto \mathsf{*.f64}\left(\left(\left(b \cdot \frac{-1}{6}\right) \cdot \left(b \cdot b\right)\right), \left(\frac{x}{y}\right)\right) \]
              6. associate-*l*N/A

                \[\leadsto \mathsf{*.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), \left(\frac{\color{blue}{x}}{y}\right)\right) \]
              7. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), \left(\frac{\color{blue}{x}}{y}\right)\right) \]
              8. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot b\right)\right)\right), \left(\frac{x}{y}\right)\right) \]
              9. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, b\right)\right)\right), \left(\frac{x}{y}\right)\right) \]
              10. /-lowering-/.f6453.8%

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, b\right)\right)\right), \mathsf{/.f64}\left(x, \color{blue}{y}\right)\right) \]
            13. Applied egg-rr53.8%

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

            if -1.9500000000000001e-31 < b < -4.2000000000000003e-226

            1. Initial program 98.0%

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

              \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
            4. Step-by-step derivation
              1. exp-diffN/A

                \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
              2. associate-/l*N/A

                \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
              3. *-commutativeN/A

                \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
              4. associate-/l*N/A

                \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
              5. *-lowering-*.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
              6. exp-to-powN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
              7. pow-lowering-pow.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
              8. sub-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
              9. metadata-evalN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
              10. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
              11. /-lowering-/.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
              12. exp-lowering-exp.f6474.5%

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
            5. Simplified74.5%

              \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
            6. Taylor expanded in b around 0

              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
            7. Step-by-step derivation
              1. Simplified74.5%

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

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

                  \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
                2. *-lowering-*.f6449.2%

                  \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
              4. Simplified49.2%

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

              if -4.2000000000000003e-226 < b < 1.7999999999999998e-247

              1. Initial program 99.4%

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

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
              4. Step-by-step derivation
                1. mul-1-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                2. neg-sub0N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                3. --lowering--.f6411.5%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
              5. Simplified11.5%

                \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
              6. Taylor expanded in b around 0

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(1 + b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)}\right), y\right) \]
              7. Step-by-step derivation
                1. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \left(b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
                2. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
                3. sub-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right)\right), y\right) \]
                4. metadata-evalN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + -1\right)\right)\right)\right), y\right) \]
                5. +-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(-1 + \frac{1}{2} \cdot b\right)\right)\right)\right), y\right) \]
                6. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(\frac{1}{2} \cdot b\right)\right)\right)\right)\right), y\right) \]
                7. *-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(b \cdot \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
                8. *-lowering-*.f6411.5%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(b, \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
              8. Simplified11.5%

                \[\leadsto \frac{x \cdot \color{blue}{\left(1 + b \cdot \left(-1 + b \cdot 0.5\right)\right)}}{y} \]
              9. Taylor expanded in b around inf

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(\frac{1}{2} \cdot {b}^{2}\right)}\right), y\right) \]
              10. Step-by-step derivation
                1. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left({b}^{2}\right)\right)\right), y\right) \]
                2. unpow2N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left(b \cdot b\right)\right)\right), y\right) \]
                3. *-lowering-*.f6450.9%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right) \]
              11. Simplified50.9%

                \[\leadsto \frac{x \cdot \color{blue}{\left(0.5 \cdot \left(b \cdot b\right)\right)}}{y} \]

              if 1.7999999999999998e-247 < b

              1. Initial program 99.1%

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

                \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
              4. Step-by-step derivation
                1. exp-diffN/A

                  \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                2. associate-/l*N/A

                  \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                3. *-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                4. associate-/l*N/A

                  \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                5. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                6. exp-to-powN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                7. pow-lowering-pow.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                8. sub-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                9. metadata-evalN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                10. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                11. /-lowering-/.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                12. exp-lowering-exp.f6466.1%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
              5. Simplified66.1%

                \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
              6. Taylor expanded in t around 0

                \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
              7. Step-by-step derivation
                1. /-lowering-/.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
                2. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
                3. exp-lowering-exp.f6463.9%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
              8. Simplified63.9%

                \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]
              9. Taylor expanded in b around 0

                \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \color{blue}{\left(a + a \cdot b\right)}\right), y\right) \]
              10. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a + b \cdot a\right)\right), y\right) \]
                2. distribute-rgt1-inN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(b + 1\right) \cdot a\right)\right), y\right) \]
                3. +-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(1 + b\right) \cdot a\right)\right), y\right) \]
                4. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(1 + b\right), a\right)\right), y\right) \]
                5. +-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(b + 1\right), a\right)\right), y\right) \]
                6. +-lowering-+.f6441.8%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, 1\right), a\right)\right), y\right) \]
              11. Simplified41.8%

                \[\leadsto \frac{\frac{x}{\color{blue}{\left(b + 1\right) \cdot a}}}{y} \]
            8. Recombined 4 regimes into one program.
            9. Final simplification47.7%

              \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -1.95 \cdot 10^{-31}:\\ \;\;\;\;\left(b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)\right) \cdot \frac{x}{y}\\ \mathbf{elif}\;b \leq -4.2 \cdot 10^{-226}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.8 \cdot 10^{-247}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \]
            10. Add Preprocessing

            Alternative 12: 45.0% accurate, 13.1× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq -2.5 \cdot 10^{+58}:\\ \;\;\;\;b \cdot \left(b \cdot \frac{x \cdot \left(b \cdot -0.16666666666666666\right)}{y}\right)\\ \mathbf{elif}\;b \leq -5.5 \cdot 10^{-229}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.35 \cdot 10^{-247}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \end{array} \]
            (FPCore (x y z t a b)
             :precision binary64
             (if (<= b -2.5e+58)
               (* b (* b (/ (* x (* b -0.16666666666666666)) y)))
               (if (<= b -5.5e-229)
                 (/ x (* y a))
                 (if (<= b 1.35e-247)
                   (/ (* x (* (* b b) 0.5)) y)
                   (/ (/ x (* a (+ 1.0 b))) y)))))
            double code(double x, double y, double z, double t, double a, double b) {
            	double tmp;
            	if (b <= -2.5e+58) {
            		tmp = b * (b * ((x * (b * -0.16666666666666666)) / y));
            	} else if (b <= -5.5e-229) {
            		tmp = x / (y * a);
            	} else if (b <= 1.35e-247) {
            		tmp = (x * ((b * b) * 0.5)) / y;
            	} else {
            		tmp = (x / (a * (1.0 + b))) / y;
            	}
            	return tmp;
            }
            
            real(8) function code(x, y, z, t, a, b)
                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), intent (in) :: b
                real(8) :: tmp
                if (b <= (-2.5d+58)) then
                    tmp = b * (b * ((x * (b * (-0.16666666666666666d0))) / y))
                else if (b <= (-5.5d-229)) then
                    tmp = x / (y * a)
                else if (b <= 1.35d-247) then
                    tmp = (x * ((b * b) * 0.5d0)) / y
                else
                    tmp = (x / (a * (1.0d0 + b))) / y
                end if
                code = tmp
            end function
            
            public static double code(double x, double y, double z, double t, double a, double b) {
            	double tmp;
            	if (b <= -2.5e+58) {
            		tmp = b * (b * ((x * (b * -0.16666666666666666)) / y));
            	} else if (b <= -5.5e-229) {
            		tmp = x / (y * a);
            	} else if (b <= 1.35e-247) {
            		tmp = (x * ((b * b) * 0.5)) / y;
            	} else {
            		tmp = (x / (a * (1.0 + b))) / y;
            	}
            	return tmp;
            }
            
            def code(x, y, z, t, a, b):
            	tmp = 0
            	if b <= -2.5e+58:
            		tmp = b * (b * ((x * (b * -0.16666666666666666)) / y))
            	elif b <= -5.5e-229:
            		tmp = x / (y * a)
            	elif b <= 1.35e-247:
            		tmp = (x * ((b * b) * 0.5)) / y
            	else:
            		tmp = (x / (a * (1.0 + b))) / y
            	return tmp
            
            function code(x, y, z, t, a, b)
            	tmp = 0.0
            	if (b <= -2.5e+58)
            		tmp = Float64(b * Float64(b * Float64(Float64(x * Float64(b * -0.16666666666666666)) / y)));
            	elseif (b <= -5.5e-229)
            		tmp = Float64(x / Float64(y * a));
            	elseif (b <= 1.35e-247)
            		tmp = Float64(Float64(x * Float64(Float64(b * b) * 0.5)) / y);
            	else
            		tmp = Float64(Float64(x / Float64(a * Float64(1.0 + b))) / y);
            	end
            	return tmp
            end
            
            function tmp_2 = code(x, y, z, t, a, b)
            	tmp = 0.0;
            	if (b <= -2.5e+58)
            		tmp = b * (b * ((x * (b * -0.16666666666666666)) / y));
            	elseif (b <= -5.5e-229)
            		tmp = x / (y * a);
            	elseif (b <= 1.35e-247)
            		tmp = (x * ((b * b) * 0.5)) / y;
            	else
            		tmp = (x / (a * (1.0 + b))) / y;
            	end
            	tmp_2 = tmp;
            end
            
            code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -2.5e+58], N[(b * N[(b * N[(N[(x * N[(b * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -5.5e-229], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.35e-247], N[(N[(x * N[(N[(b * b), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x / N[(a * N[(1.0 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;b \leq -2.5 \cdot 10^{+58}:\\
            \;\;\;\;b \cdot \left(b \cdot \frac{x \cdot \left(b \cdot -0.16666666666666666\right)}{y}\right)\\
            
            \mathbf{elif}\;b \leq -5.5 \cdot 10^{-229}:\\
            \;\;\;\;\frac{x}{y \cdot a}\\
            
            \mathbf{elif}\;b \leq 1.35 \cdot 10^{-247}:\\
            \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\
            
            \mathbf{else}:\\
            \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 4 regimes
            2. if b < -2.49999999999999993e58

              1. Initial program 100.0%

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

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
              4. Step-by-step derivation
                1. mul-1-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                2. neg-sub0N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                3. --lowering--.f6475.0%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
              5. Simplified75.0%

                \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
              6. Taylor expanded in b around 0

                \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
              7. Step-by-step derivation
                1. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                2. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                3. mul-1-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                4. +-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
                5. unsub-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
                6. --lowering--.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                7. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                8. associate-*r*N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                9. distribute-rgt-outN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
                10. +-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                11. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                12. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                13. *-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                14. *-lowering-*.f6467.0%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
              8. Simplified67.0%

                \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
              9. Taylor expanded in b around inf

                \[\leadsto \color{blue}{\frac{-1}{6} \cdot \frac{{b}^{3} \cdot x}{y}} \]
              10. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \frac{{b}^{3} \cdot x}{y} \cdot \color{blue}{\frac{-1}{6}} \]
                2. associate-/l*N/A

                  \[\leadsto \left({b}^{3} \cdot \frac{x}{y}\right) \cdot \frac{-1}{6} \]
                3. associate-*r*N/A

                  \[\leadsto {b}^{3} \cdot \color{blue}{\left(\frac{x}{y} \cdot \frac{-1}{6}\right)} \]
                4. *-commutativeN/A

                  \[\leadsto {b}^{3} \cdot \left(\frac{-1}{6} \cdot \color{blue}{\frac{x}{y}}\right) \]
                5. cube-multN/A

                  \[\leadsto \left(b \cdot \left(b \cdot b\right)\right) \cdot \left(\color{blue}{\frac{-1}{6}} \cdot \frac{x}{y}\right) \]
                6. unpow2N/A

                  \[\leadsto \left(b \cdot {b}^{2}\right) \cdot \left(\frac{-1}{6} \cdot \frac{x}{y}\right) \]
                7. associate-*l*N/A

                  \[\leadsto b \cdot \color{blue}{\left({b}^{2} \cdot \left(\frac{-1}{6} \cdot \frac{x}{y}\right)\right)} \]
                8. associate-*r/N/A

                  \[\leadsto b \cdot \left({b}^{2} \cdot \frac{\frac{-1}{6} \cdot x}{\color{blue}{y}}\right) \]
                9. associate-*r/N/A

                  \[\leadsto b \cdot \frac{{b}^{2} \cdot \left(\frac{-1}{6} \cdot x\right)}{\color{blue}{y}} \]
                10. unpow2N/A

                  \[\leadsto b \cdot \frac{\left(b \cdot b\right) \cdot \left(\frac{-1}{6} \cdot x\right)}{y} \]
                11. associate-*l*N/A

                  \[\leadsto b \cdot \frac{b \cdot \left(b \cdot \left(\frac{-1}{6} \cdot x\right)\right)}{y} \]
                12. *-commutativeN/A

                  \[\leadsto b \cdot \frac{b \cdot \left(b \cdot \left(x \cdot \frac{-1}{6}\right)\right)}{y} \]
                13. associate-*r*N/A

                  \[\leadsto b \cdot \frac{b \cdot \left(\left(b \cdot x\right) \cdot \frac{-1}{6}\right)}{y} \]
                14. *-commutativeN/A

                  \[\leadsto b \cdot \frac{b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right)\right)}{y} \]
                15. associate-*r/N/A

                  \[\leadsto b \cdot \left(b \cdot \color{blue}{\frac{\frac{-1}{6} \cdot \left(b \cdot x\right)}{y}}\right) \]
                16. associate-*r/N/A

                  \[\leadsto b \cdot \left(b \cdot \left(\frac{-1}{6} \cdot \color{blue}{\frac{b \cdot x}{y}}\right)\right) \]
                17. *-commutativeN/A

                  \[\leadsto b \cdot \left(\left(\frac{-1}{6} \cdot \frac{b \cdot x}{y}\right) \cdot \color{blue}{b}\right) \]
                18. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(b, \color{blue}{\left(\left(\frac{-1}{6} \cdot \frac{b \cdot x}{y}\right) \cdot b\right)}\right) \]
                19. *-commutativeN/A

                  \[\leadsto \mathsf{*.f64}\left(b, \left(b \cdot \color{blue}{\left(\frac{-1}{6} \cdot \frac{b \cdot x}{y}\right)}\right)\right) \]
                20. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, \color{blue}{\left(\frac{-1}{6} \cdot \frac{b \cdot x}{y}\right)}\right)\right) \]
                21. associate-*r/N/A

                  \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, \left(\frac{\frac{-1}{6} \cdot \left(b \cdot x\right)}{\color{blue}{y}}\right)\right)\right) \]
                22. /-lowering-/.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(\left(\frac{-1}{6} \cdot \left(b \cdot x\right)\right), \color{blue}{y}\right)\right)\right) \]
              11. Simplified63.8%

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

              if -2.49999999999999993e58 < b < -5.5000000000000001e-229

              1. Initial program 98.7%

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

                \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
              4. Step-by-step derivation
                1. exp-diffN/A

                  \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                2. associate-/l*N/A

                  \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                3. *-commutativeN/A

                  \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                4. associate-/l*N/A

                  \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                5. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                6. exp-to-powN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                7. pow-lowering-pow.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                8. sub-negN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                9. metadata-evalN/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                10. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                11. /-lowering-/.f64N/A

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                12. exp-lowering-exp.f6465.4%

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
              5. Simplified65.4%

                \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
              6. Taylor expanded in b around 0

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
              7. Step-by-step derivation
                1. Simplified70.3%

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

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

                    \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
                  2. *-lowering-*.f6440.5%

                    \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
                4. Simplified40.5%

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

                if -5.5000000000000001e-229 < b < 1.35000000000000004e-247

                1. Initial program 99.4%

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

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                4. Step-by-step derivation
                  1. mul-1-negN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                  2. neg-sub0N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                  3. --lowering--.f6411.5%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                5. Simplified11.5%

                  \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                6. Taylor expanded in b around 0

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(1 + b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)}\right), y\right) \]
                7. Step-by-step derivation
                  1. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \left(b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
                  2. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
                  3. sub-negN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right)\right), y\right) \]
                  4. metadata-evalN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + -1\right)\right)\right)\right), y\right) \]
                  5. +-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(-1 + \frac{1}{2} \cdot b\right)\right)\right)\right), y\right) \]
                  6. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(\frac{1}{2} \cdot b\right)\right)\right)\right)\right), y\right) \]
                  7. *-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(b \cdot \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
                  8. *-lowering-*.f6411.5%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(b, \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
                8. Simplified11.5%

                  \[\leadsto \frac{x \cdot \color{blue}{\left(1 + b \cdot \left(-1 + b \cdot 0.5\right)\right)}}{y} \]
                9. Taylor expanded in b around inf

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(\frac{1}{2} \cdot {b}^{2}\right)}\right), y\right) \]
                10. Step-by-step derivation
                  1. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left({b}^{2}\right)\right)\right), y\right) \]
                  2. unpow2N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left(b \cdot b\right)\right)\right), y\right) \]
                  3. *-lowering-*.f6450.9%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right) \]
                11. Simplified50.9%

                  \[\leadsto \frac{x \cdot \color{blue}{\left(0.5 \cdot \left(b \cdot b\right)\right)}}{y} \]

                if 1.35000000000000004e-247 < b

                1. Initial program 99.1%

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

                  \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                4. Step-by-step derivation
                  1. exp-diffN/A

                    \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                  2. associate-/l*N/A

                    \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                  3. *-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                  4. associate-/l*N/A

                    \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                  5. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  6. exp-to-powN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  7. pow-lowering-pow.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  8. sub-negN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  9. metadata-evalN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  10. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  11. /-lowering-/.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                  12. exp-lowering-exp.f6466.1%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                5. Simplified66.1%

                  \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                6. Taylor expanded in t around 0

                  \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
                7. Step-by-step derivation
                  1. /-lowering-/.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
                  2. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
                  3. exp-lowering-exp.f6463.9%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                8. Simplified63.9%

                  \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]
                9. Taylor expanded in b around 0

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \color{blue}{\left(a + a \cdot b\right)}\right), y\right) \]
                10. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a + b \cdot a\right)\right), y\right) \]
                  2. distribute-rgt1-inN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(b + 1\right) \cdot a\right)\right), y\right) \]
                  3. +-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(1 + b\right) \cdot a\right)\right), y\right) \]
                  4. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(1 + b\right), a\right)\right), y\right) \]
                  5. +-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(b + 1\right), a\right)\right), y\right) \]
                  6. +-lowering-+.f6441.8%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, 1\right), a\right)\right), y\right) \]
                11. Simplified41.8%

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

                \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -2.5 \cdot 10^{+58}:\\ \;\;\;\;b \cdot \left(b \cdot \frac{x \cdot \left(b \cdot -0.16666666666666666\right)}{y}\right)\\ \mathbf{elif}\;b \leq -5.5 \cdot 10^{-229}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.35 \cdot 10^{-247}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \]
              10. Add Preprocessing

              Alternative 13: 45.1% accurate, 13.1× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{if}\;b \leq -3.4 \cdot 10^{+92}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -1.35 \cdot 10^{-224}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.8 \cdot 10^{-247}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \end{array} \]
              (FPCore (x y z t a b)
               :precision binary64
               (let* ((t_1 (/ (* x (* (* b b) 0.5)) y)))
                 (if (<= b -3.4e+92)
                   t_1
                   (if (<= b -1.35e-224)
                     (/ x (* y a))
                     (if (<= b 1.8e-247) t_1 (/ (/ x (* a (+ 1.0 b))) y))))))
              double code(double x, double y, double z, double t, double a, double b) {
              	double t_1 = (x * ((b * b) * 0.5)) / y;
              	double tmp;
              	if (b <= -3.4e+92) {
              		tmp = t_1;
              	} else if (b <= -1.35e-224) {
              		tmp = x / (y * a);
              	} else if (b <= 1.8e-247) {
              		tmp = t_1;
              	} else {
              		tmp = (x / (a * (1.0 + b))) / y;
              	}
              	return tmp;
              }
              
              real(8) function code(x, y, z, t, a, b)
                  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), intent (in) :: b
                  real(8) :: t_1
                  real(8) :: tmp
                  t_1 = (x * ((b * b) * 0.5d0)) / y
                  if (b <= (-3.4d+92)) then
                      tmp = t_1
                  else if (b <= (-1.35d-224)) then
                      tmp = x / (y * a)
                  else if (b <= 1.8d-247) then
                      tmp = t_1
                  else
                      tmp = (x / (a * (1.0d0 + b))) / y
                  end if
                  code = tmp
              end function
              
              public static double code(double x, double y, double z, double t, double a, double b) {
              	double t_1 = (x * ((b * b) * 0.5)) / y;
              	double tmp;
              	if (b <= -3.4e+92) {
              		tmp = t_1;
              	} else if (b <= -1.35e-224) {
              		tmp = x / (y * a);
              	} else if (b <= 1.8e-247) {
              		tmp = t_1;
              	} else {
              		tmp = (x / (a * (1.0 + b))) / y;
              	}
              	return tmp;
              }
              
              def code(x, y, z, t, a, b):
              	t_1 = (x * ((b * b) * 0.5)) / y
              	tmp = 0
              	if b <= -3.4e+92:
              		tmp = t_1
              	elif b <= -1.35e-224:
              		tmp = x / (y * a)
              	elif b <= 1.8e-247:
              		tmp = t_1
              	else:
              		tmp = (x / (a * (1.0 + b))) / y
              	return tmp
              
              function code(x, y, z, t, a, b)
              	t_1 = Float64(Float64(x * Float64(Float64(b * b) * 0.5)) / y)
              	tmp = 0.0
              	if (b <= -3.4e+92)
              		tmp = t_1;
              	elseif (b <= -1.35e-224)
              		tmp = Float64(x / Float64(y * a));
              	elseif (b <= 1.8e-247)
              		tmp = t_1;
              	else
              		tmp = Float64(Float64(x / Float64(a * Float64(1.0 + b))) / y);
              	end
              	return tmp
              end
              
              function tmp_2 = code(x, y, z, t, a, b)
              	t_1 = (x * ((b * b) * 0.5)) / y;
              	tmp = 0.0;
              	if (b <= -3.4e+92)
              		tmp = t_1;
              	elseif (b <= -1.35e-224)
              		tmp = x / (y * a);
              	elseif (b <= 1.8e-247)
              		tmp = t_1;
              	else
              		tmp = (x / (a * (1.0 + b))) / y;
              	end
              	tmp_2 = tmp;
              end
              
              code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[(N[(b * b), $MachinePrecision] * 0.5), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[b, -3.4e+92], t$95$1, If[LessEqual[b, -1.35e-224], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.8e-247], t$95$1, N[(N[(x / N[(a * N[(1.0 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]]
              
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              t_1 := \frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\
              \mathbf{if}\;b \leq -3.4 \cdot 10^{+92}:\\
              \;\;\;\;t\_1\\
              
              \mathbf{elif}\;b \leq -1.35 \cdot 10^{-224}:\\
              \;\;\;\;\frac{x}{y \cdot a}\\
              
              \mathbf{elif}\;b \leq 1.8 \cdot 10^{-247}:\\
              \;\;\;\;t\_1\\
              
              \mathbf{else}:\\
              \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 3 regimes
              2. if b < -3.3999999999999998e92 or -1.34999999999999999e-224 < b < 1.7999999999999998e-247

                1. Initial program 99.8%

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

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                4. Step-by-step derivation
                  1. mul-1-negN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                  2. neg-sub0N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                  3. --lowering--.f6457.1%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                5. Simplified57.1%

                  \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                6. Taylor expanded in b around 0

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(1 + b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)}\right), y\right) \]
                7. Step-by-step derivation
                  1. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \left(b \cdot \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
                  2. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b - 1\right)\right)\right)\right), y\right) \]
                  3. sub-negN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right)\right), y\right) \]
                  4. metadata-evalN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} \cdot b + -1\right)\right)\right)\right), y\right) \]
                  5. +-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(-1 + \frac{1}{2} \cdot b\right)\right)\right)\right), y\right) \]
                  6. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(\frac{1}{2} \cdot b\right)\right)\right)\right)\right), y\right) \]
                  7. *-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \left(b \cdot \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
                  8. *-lowering-*.f6450.9%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(b, \frac{1}{2}\right)\right)\right)\right)\right), y\right) \]
                8. Simplified50.9%

                  \[\leadsto \frac{x \cdot \color{blue}{\left(1 + b \cdot \left(-1 + b \cdot 0.5\right)\right)}}{y} \]
                9. Taylor expanded in b around inf

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \color{blue}{\left(\frac{1}{2} \cdot {b}^{2}\right)}\right), y\right) \]
                10. Step-by-step derivation
                  1. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left({b}^{2}\right)\right)\right), y\right) \]
                  2. unpow2N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \left(b \cdot b\right)\right)\right), y\right) \]
                  3. *-lowering-*.f6463.2%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right) \]
                11. Simplified63.2%

                  \[\leadsto \frac{x \cdot \color{blue}{\left(0.5 \cdot \left(b \cdot b\right)\right)}}{y} \]

                if -3.3999999999999998e92 < b < -1.34999999999999999e-224

                1. Initial program 98.8%

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

                  \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                4. Step-by-step derivation
                  1. exp-diffN/A

                    \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                  2. associate-/l*N/A

                    \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                  3. *-commutativeN/A

                    \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                  4. associate-/l*N/A

                    \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                  5. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  6. exp-to-powN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  7. pow-lowering-pow.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  8. sub-negN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  9. metadata-evalN/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  10. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                  11. /-lowering-/.f64N/A

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                  12. exp-lowering-exp.f6464.1%

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                5. Simplified64.1%

                  \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                6. Taylor expanded in b around 0

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
                7. Step-by-step derivation
                  1. Simplified68.7%

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

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

                      \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
                    2. *-lowering-*.f6438.8%

                      \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
                  4. Simplified38.8%

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

                  if 1.7999999999999998e-247 < b

                  1. Initial program 99.1%

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

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                  4. Step-by-step derivation
                    1. exp-diffN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    2. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    3. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                    4. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                    5. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    6. exp-to-powN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    7. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    8. sub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    9. metadata-evalN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    10. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    11. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                    12. exp-lowering-exp.f6466.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  5. Simplified66.1%

                    \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                  6. Taylor expanded in t around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
                    3. exp-lowering-exp.f6463.9%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  8. Simplified63.9%

                    \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]
                  9. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \color{blue}{\left(a + a \cdot b\right)}\right), y\right) \]
                  10. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a + b \cdot a\right)\right), y\right) \]
                    2. distribute-rgt1-inN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(b + 1\right) \cdot a\right)\right), y\right) \]
                    3. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(1 + b\right) \cdot a\right)\right), y\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(1 + b\right), a\right)\right), y\right) \]
                    5. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(b + 1\right), a\right)\right), y\right) \]
                    6. +-lowering-+.f6441.8%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, 1\right), a\right)\right), y\right) \]
                  11. Simplified41.8%

                    \[\leadsto \frac{\frac{x}{\color{blue}{\left(b + 1\right) \cdot a}}}{y} \]
                8. Recombined 3 regimes into one program.
                9. Final simplification47.4%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -3.4 \cdot 10^{+92}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{elif}\;b \leq -1.35 \cdot 10^{-224}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq 1.8 \cdot 10^{-247}:\\ \;\;\;\;\frac{x \cdot \left(\left(b \cdot b\right) \cdot 0.5\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \]
                10. Add Preprocessing

                Alternative 14: 52.4% accurate, 13.1× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 5 \cdot 10^{-122}:\\ \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)\right)}}{y}\\ \end{array} \end{array} \]
                (FPCore (x y z t a b)
                 :precision binary64
                 (if (<= b 5e-122)
                   (* x (/ (* b (* (* b b) -0.16666666666666666)) y))
                   (/
                    (/ x (* a (+ 1.0 (* b (+ 1.0 (* b (+ 0.5 (* b 0.16666666666666666))))))))
                    y)))
                double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (b <= 5e-122) {
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	} else {
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))))) / y;
                	}
                	return tmp;
                }
                
                real(8) function code(x, y, z, t, a, b)
                    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), intent (in) :: b
                    real(8) :: tmp
                    if (b <= 5d-122) then
                        tmp = x * ((b * ((b * b) * (-0.16666666666666666d0))) / y)
                    else
                        tmp = (x / (a * (1.0d0 + (b * (1.0d0 + (b * (0.5d0 + (b * 0.16666666666666666d0)))))))) / y
                    end if
                    code = tmp
                end function
                
                public static double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (b <= 5e-122) {
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	} else {
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))))) / y;
                	}
                	return tmp;
                }
                
                def code(x, y, z, t, a, b):
                	tmp = 0
                	if b <= 5e-122:
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y)
                	else:
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))))) / y
                	return tmp
                
                function code(x, y, z, t, a, b)
                	tmp = 0.0
                	if (b <= 5e-122)
                		tmp = Float64(x * Float64(Float64(b * Float64(Float64(b * b) * -0.16666666666666666)) / y));
                	else
                		tmp = Float64(Float64(x / Float64(a * Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * Float64(0.5 + Float64(b * 0.16666666666666666)))))))) / y);
                	end
                	return tmp
                end
                
                function tmp_2 = code(x, y, z, t, a, b)
                	tmp = 0.0;
                	if (b <= 5e-122)
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	else
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * (0.5 + (b * 0.16666666666666666)))))))) / y;
                	end
                	tmp_2 = tmp;
                end
                
                code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 5e-122], N[(x * N[(N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(a * N[(1.0 + N[(b * N[(1.0 + N[(b * N[(0.5 + N[(b * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                \mathbf{if}\;b \leq 5 \cdot 10^{-122}:\\
                \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\
                
                \mathbf{else}:\\
                \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)\right)}}{y}\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if b < 4.9999999999999999e-122

                  1. Initial program 99.1%

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

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                  4. Step-by-step derivation
                    1. mul-1-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                    2. neg-sub0N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                    3. --lowering--.f6441.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                  5. Simplified41.1%

                    \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                  6. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    3. mul-1-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    4. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
                    5. unsub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
                    6. --lowering--.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    8. associate-*r*N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    9. distribute-rgt-outN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
                    10. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                    11. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                    12. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    13. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    14. *-lowering-*.f6435.4%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                  8. Simplified35.4%

                    \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
                  9. Taylor expanded in b around inf

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{-1}{6} \cdot \left({b}^{3} \cdot x\right)\right)}, y\right) \]
                  10. Step-by-step derivation
                    1. associate-*r*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot {b}^{3}\right) \cdot x\right), y\right) \]
                    2. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
                    3. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left({b}^{3}\right)\right)\right), y\right) \]
                    5. cube-multN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot \left(b \cdot b\right)\right)\right)\right), y\right) \]
                    6. unpow2N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot {b}^{2}\right)\right)\right), y\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left({b}^{2}\right)\right)\right)\right), y\right) \]
                    8. unpow2N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left(b \cdot b\right)\right)\right)\right), y\right) \]
                    9. *-lowering-*.f6446.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, b\right)\right)\right)\right), y\right) \]
                  11. Simplified46.1%

                    \[\leadsto \frac{\color{blue}{x \cdot \left(-0.16666666666666666 \cdot \left(b \cdot \left(b \cdot b\right)\right)\right)}}{y} \]
                  12. Step-by-step derivation
                    1. associate-/l*N/A

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

                      \[\leadsto \frac{\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)}{y} \cdot \color{blue}{x} \]
                    3. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)}{y}\right), \color{blue}{x}\right) \]
                    4. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    5. associate-*r*N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot b\right) \cdot \left(b \cdot b\right)\right), y\right), x\right) \]
                    6. *-commutativeN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\left(b \cdot \frac{-1}{6}\right) \cdot \left(b \cdot b\right)\right), y\right), x\right) \]
                    7. associate-*l*N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    8. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    9. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    10. *-lowering-*.f6449.0%

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right), x\right) \]
                  13. Applied egg-rr49.0%

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

                  if 4.9999999999999999e-122 < b

                  1. Initial program 99.6%

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

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                  4. Step-by-step derivation
                    1. exp-diffN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    2. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    3. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                    4. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                    5. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    6. exp-to-powN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    7. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    8. sub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    9. metadata-evalN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    10. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    11. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                    12. exp-lowering-exp.f6466.8%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  5. Simplified66.8%

                    \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                  6. Taylor expanded in t around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
                    3. exp-lowering-exp.f6473.7%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  8. Simplified73.7%

                    \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]
                  9. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{\left(1 + b \cdot \left(1 + b \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot b\right)\right)\right)}\right)\right), y\right) \]
                  10. Step-by-step derivation
                    1. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \left(b \cdot \left(1 + b \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot b\right)\right)\right)\right)\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(1 + b \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot b\right)\right)\right)\right)\right)\right), y\right) \]
                    3. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \left(b \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot b\right)\right)\right)\right)\right)\right)\right), y\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(\frac{1}{2} + \frac{1}{6} \cdot b\right)\right)\right)\right)\right)\right)\right), y\right) \]
                    5. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{1}{6} \cdot b\right)\right)\right)\right)\right)\right)\right)\right), y\right) \]
                    6. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{1}{6}\right)\right)\right)\right)\right)\right)\right)\right), y\right) \]
                    7. *-lowering-*.f6466.5%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{1}{6}\right)\right)\right)\right)\right)\right)\right)\right), y\right) \]
                  11. Simplified66.5%

                    \[\leadsto \frac{\frac{x}{a \cdot \color{blue}{\left(1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)\right)}}}{y} \]
                3. Recombined 2 regimes into one program.
                4. Final simplification54.3%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 5 \cdot 10^{-122}:\\ \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b \cdot \left(1 + b \cdot \left(0.5 + b \cdot 0.16666666666666666\right)\right)\right)}}{y}\\ \end{array} \]
                5. Add Preprocessing

                Alternative 15: 50.8% accurate, 15.7× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 5.6 \cdot 10^{-121}:\\ \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b \cdot \left(1 + b \cdot 0.5\right)\right)}}{y}\\ \end{array} \end{array} \]
                (FPCore (x y z t a b)
                 :precision binary64
                 (if (<= b 5.6e-121)
                   (* x (/ (* b (* (* b b) -0.16666666666666666)) y))
                   (/ (/ x (* a (+ 1.0 (* b (+ 1.0 (* b 0.5)))))) y)))
                double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (b <= 5.6e-121) {
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	} else {
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * 0.5)))))) / y;
                	}
                	return tmp;
                }
                
                real(8) function code(x, y, z, t, a, b)
                    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), intent (in) :: b
                    real(8) :: tmp
                    if (b <= 5.6d-121) then
                        tmp = x * ((b * ((b * b) * (-0.16666666666666666d0))) / y)
                    else
                        tmp = (x / (a * (1.0d0 + (b * (1.0d0 + (b * 0.5d0)))))) / y
                    end if
                    code = tmp
                end function
                
                public static double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (b <= 5.6e-121) {
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	} else {
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * 0.5)))))) / y;
                	}
                	return tmp;
                }
                
                def code(x, y, z, t, a, b):
                	tmp = 0
                	if b <= 5.6e-121:
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y)
                	else:
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * 0.5)))))) / y
                	return tmp
                
                function code(x, y, z, t, a, b)
                	tmp = 0.0
                	if (b <= 5.6e-121)
                		tmp = Float64(x * Float64(Float64(b * Float64(Float64(b * b) * -0.16666666666666666)) / y));
                	else
                		tmp = Float64(Float64(x / Float64(a * Float64(1.0 + Float64(b * Float64(1.0 + Float64(b * 0.5)))))) / y);
                	end
                	return tmp
                end
                
                function tmp_2 = code(x, y, z, t, a, b)
                	tmp = 0.0;
                	if (b <= 5.6e-121)
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	else
                		tmp = (x / (a * (1.0 + (b * (1.0 + (b * 0.5)))))) / y;
                	end
                	tmp_2 = tmp;
                end
                
                code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 5.6e-121], N[(x * N[(N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(a * N[(1.0 + N[(b * N[(1.0 + N[(b * 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                \mathbf{if}\;b \leq 5.6 \cdot 10^{-121}:\\
                \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\
                
                \mathbf{else}:\\
                \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b \cdot \left(1 + b \cdot 0.5\right)\right)}}{y}\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if b < 5.6000000000000002e-121

                  1. Initial program 99.1%

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

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                  4. Step-by-step derivation
                    1. mul-1-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                    2. neg-sub0N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                    3. --lowering--.f6441.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                  5. Simplified41.1%

                    \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                  6. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    3. mul-1-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    4. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
                    5. unsub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
                    6. --lowering--.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    8. associate-*r*N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    9. distribute-rgt-outN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
                    10. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                    11. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                    12. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    13. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    14. *-lowering-*.f6435.4%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                  8. Simplified35.4%

                    \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
                  9. Taylor expanded in b around inf

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{-1}{6} \cdot \left({b}^{3} \cdot x\right)\right)}, y\right) \]
                  10. Step-by-step derivation
                    1. associate-*r*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot {b}^{3}\right) \cdot x\right), y\right) \]
                    2. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
                    3. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left({b}^{3}\right)\right)\right), y\right) \]
                    5. cube-multN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot \left(b \cdot b\right)\right)\right)\right), y\right) \]
                    6. unpow2N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot {b}^{2}\right)\right)\right), y\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left({b}^{2}\right)\right)\right)\right), y\right) \]
                    8. unpow2N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left(b \cdot b\right)\right)\right)\right), y\right) \]
                    9. *-lowering-*.f6446.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, b\right)\right)\right)\right), y\right) \]
                  11. Simplified46.1%

                    \[\leadsto \frac{\color{blue}{x \cdot \left(-0.16666666666666666 \cdot \left(b \cdot \left(b \cdot b\right)\right)\right)}}{y} \]
                  12. Step-by-step derivation
                    1. associate-/l*N/A

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

                      \[\leadsto \frac{\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)}{y} \cdot \color{blue}{x} \]
                    3. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)}{y}\right), \color{blue}{x}\right) \]
                    4. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    5. associate-*r*N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot b\right) \cdot \left(b \cdot b\right)\right), y\right), x\right) \]
                    6. *-commutativeN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\left(b \cdot \frac{-1}{6}\right) \cdot \left(b \cdot b\right)\right), y\right), x\right) \]
                    7. associate-*l*N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    8. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    9. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    10. *-lowering-*.f6449.0%

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right), x\right) \]
                  13. Applied egg-rr49.0%

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

                  if 5.6000000000000002e-121 < b

                  1. Initial program 99.6%

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

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                  4. Step-by-step derivation
                    1. exp-diffN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    2. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    3. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                    4. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                    5. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    6. exp-to-powN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    7. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    8. sub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    9. metadata-evalN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    10. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    11. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                    12. exp-lowering-exp.f6466.8%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  5. Simplified66.8%

                    \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                  6. Taylor expanded in t around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
                    3. exp-lowering-exp.f6473.7%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  8. Simplified73.7%

                    \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]
                  9. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{\left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)}\right)\right), y\right) \]
                  10. Step-by-step derivation
                    1. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \left(b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \left(1 + \frac{1}{2} \cdot b\right)\right)\right)\right)\right), y\right) \]
                    3. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \left(\frac{1}{2} \cdot b\right)\right)\right)\right)\right)\right), y\right) \]
                    4. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \left(b \cdot \frac{1}{2}\right)\right)\right)\right)\right)\right), y\right) \]
                    5. *-lowering-*.f6462.8%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(b, \frac{1}{2}\right)\right)\right)\right)\right)\right), y\right) \]
                  11. Simplified62.8%

                    \[\leadsto \frac{\frac{x}{a \cdot \color{blue}{\left(1 + b \cdot \left(1 + b \cdot 0.5\right)\right)}}}{y} \]
                3. Recombined 2 regimes into one program.
                4. Final simplification53.2%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 5.6 \cdot 10^{-121}:\\ \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b \cdot \left(1 + b \cdot 0.5\right)\right)}}{y}\\ \end{array} \]
                5. Add Preprocessing

                Alternative 16: 45.3% accurate, 19.7× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq 5.5 \cdot 10^{-121}:\\ \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \end{array} \]
                (FPCore (x y z t a b)
                 :precision binary64
                 (if (<= b 5.5e-121)
                   (* x (/ (* b (* (* b b) -0.16666666666666666)) y))
                   (/ (/ x (* a (+ 1.0 b))) y)))
                double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (b <= 5.5e-121) {
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	} else {
                		tmp = (x / (a * (1.0 + b))) / y;
                	}
                	return tmp;
                }
                
                real(8) function code(x, y, z, t, a, b)
                    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), intent (in) :: b
                    real(8) :: tmp
                    if (b <= 5.5d-121) then
                        tmp = x * ((b * ((b * b) * (-0.16666666666666666d0))) / y)
                    else
                        tmp = (x / (a * (1.0d0 + b))) / y
                    end if
                    code = tmp
                end function
                
                public static double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (b <= 5.5e-121) {
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	} else {
                		tmp = (x / (a * (1.0 + b))) / y;
                	}
                	return tmp;
                }
                
                def code(x, y, z, t, a, b):
                	tmp = 0
                	if b <= 5.5e-121:
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y)
                	else:
                		tmp = (x / (a * (1.0 + b))) / y
                	return tmp
                
                function code(x, y, z, t, a, b)
                	tmp = 0.0
                	if (b <= 5.5e-121)
                		tmp = Float64(x * Float64(Float64(b * Float64(Float64(b * b) * -0.16666666666666666)) / y));
                	else
                		tmp = Float64(Float64(x / Float64(a * Float64(1.0 + b))) / y);
                	end
                	return tmp
                end
                
                function tmp_2 = code(x, y, z, t, a, b)
                	tmp = 0.0;
                	if (b <= 5.5e-121)
                		tmp = x * ((b * ((b * b) * -0.16666666666666666)) / y);
                	else
                		tmp = (x / (a * (1.0 + b))) / y;
                	end
                	tmp_2 = tmp;
                end
                
                code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, 5.5e-121], N[(x * N[(N[(b * N[(N[(b * b), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(a * N[(1.0 + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                \mathbf{if}\;b \leq 5.5 \cdot 10^{-121}:\\
                \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\
                
                \mathbf{else}:\\
                \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if b < 5.50000000000000031e-121

                  1. Initial program 99.1%

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

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                  4. Step-by-step derivation
                    1. mul-1-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                    2. neg-sub0N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                    3. --lowering--.f6441.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                  5. Simplified41.1%

                    \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                  6. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    3. mul-1-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                    4. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
                    5. unsub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
                    6. --lowering--.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    8. associate-*r*N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                    9. distribute-rgt-outN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
                    10. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                    11. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                    12. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    13. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    14. *-lowering-*.f6435.4%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                  8. Simplified35.4%

                    \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
                  9. Taylor expanded in b around inf

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{-1}{6} \cdot \left({b}^{3} \cdot x\right)\right)}, y\right) \]
                  10. Step-by-step derivation
                    1. associate-*r*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot {b}^{3}\right) \cdot x\right), y\right) \]
                    2. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
                    3. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \left(\frac{-1}{6} \cdot {b}^{3}\right)\right), y\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left({b}^{3}\right)\right)\right), y\right) \]
                    5. cube-multN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot \left(b \cdot b\right)\right)\right)\right), y\right) \]
                    6. unpow2N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot {b}^{2}\right)\right)\right), y\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left({b}^{2}\right)\right)\right)\right), y\right) \]
                    8. unpow2N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \left(b \cdot b\right)\right)\right)\right), y\right) \]
                    9. *-lowering-*.f6446.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(b, b\right)\right)\right)\right), y\right) \]
                  11. Simplified46.1%

                    \[\leadsto \frac{\color{blue}{x \cdot \left(-0.16666666666666666 \cdot \left(b \cdot \left(b \cdot b\right)\right)\right)}}{y} \]
                  12. Step-by-step derivation
                    1. associate-/l*N/A

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

                      \[\leadsto \frac{\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)}{y} \cdot \color{blue}{x} \]
                    3. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)}{y}\right), \color{blue}{x}\right) \]
                    4. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{-1}{6} \cdot \left(b \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    5. associate-*r*N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\left(\frac{-1}{6} \cdot b\right) \cdot \left(b \cdot b\right)\right), y\right), x\right) \]
                    6. *-commutativeN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\left(b \cdot \frac{-1}{6}\right) \cdot \left(b \cdot b\right)\right), y\right), x\right) \]
                    7. associate-*l*N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    8. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    9. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \left(b \cdot b\right)\right)\right), y\right), x\right) \]
                    10. *-lowering-*.f6449.0%

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\frac{-1}{6}, \mathsf{*.f64}\left(b, b\right)\right)\right), y\right), x\right) \]
                  13. Applied egg-rr49.0%

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

                  if 5.50000000000000031e-121 < b

                  1. Initial program 99.6%

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

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                  4. Step-by-step derivation
                    1. exp-diffN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    2. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    3. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                    4. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                    5. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    6. exp-to-powN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    7. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    8. sub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    9. metadata-evalN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    10. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    11. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                    12. exp-lowering-exp.f6466.8%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  5. Simplified66.8%

                    \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                  6. Taylor expanded in t around 0

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(\frac{x}{a \cdot e^{b}}\right)}, y\right) \]
                  7. Step-by-step derivation
                    1. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a \cdot e^{b}\right)\right), y\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \left(e^{b}\right)\right)\right), y\right) \]
                    3. exp-lowering-exp.f6473.7%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  8. Simplified73.7%

                    \[\leadsto \frac{\color{blue}{\frac{x}{a \cdot e^{b}}}}{y} \]
                  9. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \color{blue}{\left(a + a \cdot b\right)}\right), y\right) \]
                  10. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(a + b \cdot a\right)\right), y\right) \]
                    2. distribute-rgt1-inN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(b + 1\right) \cdot a\right)\right), y\right) \]
                    3. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \left(\left(1 + b\right) \cdot a\right)\right), y\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(1 + b\right), a\right)\right), y\right) \]
                    5. +-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\left(b + 1\right), a\right)\right), y\right) \]
                    6. +-lowering-+.f6443.1%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(x, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, 1\right), a\right)\right), y\right) \]
                  11. Simplified43.1%

                    \[\leadsto \frac{\frac{x}{\color{blue}{\left(b + 1\right) \cdot a}}}{y} \]
                3. Recombined 2 regimes into one program.
                4. Final simplification47.2%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq 5.5 \cdot 10^{-121}:\\ \;\;\;\;x \cdot \frac{b \cdot \left(\left(b \cdot b\right) \cdot -0.16666666666666666\right)}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{a \cdot \left(1 + b\right)}}{y}\\ \end{array} \]
                5. Add Preprocessing

                Alternative 17: 34.1% accurate, 26.2× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 4.8 \cdot 10^{-18}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{x}{y \cdot b}\\ \end{array} \end{array} \]
                (FPCore (x y z t a b)
                 :precision binary64
                 (if (<= t 4.8e-18) (/ x (* y a)) (* b (/ x (* y b)))))
                double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (t <= 4.8e-18) {
                		tmp = x / (y * a);
                	} else {
                		tmp = b * (x / (y * b));
                	}
                	return tmp;
                }
                
                real(8) function code(x, y, z, t, a, b)
                    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), intent (in) :: b
                    real(8) :: tmp
                    if (t <= 4.8d-18) then
                        tmp = x / (y * a)
                    else
                        tmp = b * (x / (y * b))
                    end if
                    code = tmp
                end function
                
                public static double code(double x, double y, double z, double t, double a, double b) {
                	double tmp;
                	if (t <= 4.8e-18) {
                		tmp = x / (y * a);
                	} else {
                		tmp = b * (x / (y * b));
                	}
                	return tmp;
                }
                
                def code(x, y, z, t, a, b):
                	tmp = 0
                	if t <= 4.8e-18:
                		tmp = x / (y * a)
                	else:
                		tmp = b * (x / (y * b))
                	return tmp
                
                function code(x, y, z, t, a, b)
                	tmp = 0.0
                	if (t <= 4.8e-18)
                		tmp = Float64(x / Float64(y * a));
                	else
                		tmp = Float64(b * Float64(x / Float64(y * b)));
                	end
                	return tmp
                end
                
                function tmp_2 = code(x, y, z, t, a, b)
                	tmp = 0.0;
                	if (t <= 4.8e-18)
                		tmp = x / (y * a);
                	else
                		tmp = b * (x / (y * b));
                	end
                	tmp_2 = tmp;
                end
                
                code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, 4.8e-18], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], N[(b * N[(x / N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                \mathbf{if}\;t \leq 4.8 \cdot 10^{-18}:\\
                \;\;\;\;\frac{x}{y \cdot a}\\
                
                \mathbf{else}:\\
                \;\;\;\;b \cdot \frac{x}{y \cdot b}\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if t < 4.79999999999999988e-18

                  1. Initial program 99.0%

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

                    \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                  4. Step-by-step derivation
                    1. exp-diffN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    2. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                    3. *-commutativeN/A

                      \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                    4. associate-/l*N/A

                      \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                    5. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    6. exp-to-powN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    7. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    8. sub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    9. metadata-evalN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    10. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                    11. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                    12. exp-lowering-exp.f6465.6%

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                  5. Simplified65.6%

                    \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                  6. Taylor expanded in b around 0

                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
                  7. Step-by-step derivation
                    1. Simplified52.3%

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

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

                        \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
                      2. *-lowering-*.f6434.4%

                        \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
                    4. Simplified34.4%

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

                    if 4.79999999999999988e-18 < t

                    1. Initial program 100.0%

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

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                    4. Step-by-step derivation
                      1. mul-1-negN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                      2. neg-sub0N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                      3. --lowering--.f6448.3%

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                    5. Simplified48.3%

                      \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                    6. Taylor expanded in b around 0

                      \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x + b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)}, y\right) \]
                    7. Step-by-step derivation
                      1. +-lowering-+.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \left(b \cdot \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                      2. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(-1 \cdot x + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                      3. mul-1-negN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(\left(\mathsf{neg}\left(x\right)\right) + b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right)\right)\right), y\right) \]
                      4. +-commutativeN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) + \left(\mathsf{neg}\left(x\right)\right)\right)\right)\right), y\right) \]
                      5. unsub-negN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right) - x\right)\right)\right), y\right) \]
                      6. --lowering--.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\left(b \cdot \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                      7. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\frac{-1}{6} \cdot \left(b \cdot x\right) + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                      8. associate-*r*N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(\left(\frac{-1}{6} \cdot b\right) \cdot x + \frac{1}{2} \cdot x\right)\right), x\right)\right)\right), y\right) \]
                      9. distribute-rgt-outN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{-1}{6} \cdot b + \frac{1}{2}\right)\right)\right), x\right)\right)\right), y\right) \]
                      10. +-commutativeN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \left(x \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                      11. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \left(\frac{1}{2} + \frac{-1}{6} \cdot b\right)\right)\right), x\right)\right)\right), y\right) \]
                      12. +-lowering-+.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot b\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                      13. *-commutativeN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \left(b \cdot \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                      14. *-lowering-*.f6429.5%

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(b, \mathsf{\_.f64}\left(\mathsf{*.f64}\left(b, \mathsf{*.f64}\left(x, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(b, \frac{-1}{6}\right)\right)\right)\right), x\right)\right)\right), y\right) \]
                    8. Simplified29.5%

                      \[\leadsto \frac{\color{blue}{x + b \cdot \left(b \cdot \left(x \cdot \left(0.5 + b \cdot -0.16666666666666666\right)\right) - x\right)}}{y} \]
                    9. Taylor expanded in b around inf

                      \[\leadsto \color{blue}{{b}^{3} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)} \]
                    10. Step-by-step derivation
                      1. cube-multN/A

                        \[\leadsto \left(b \cdot \left(b \cdot b\right)\right) \cdot \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right) \]
                      2. unpow2N/A

                        \[\leadsto \left(b \cdot {b}^{2}\right) \cdot \left(-1 \cdot \color{blue}{\frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right) \]
                      3. associate-*l*N/A

                        \[\leadsto b \cdot \color{blue}{\left({b}^{2} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)} \]
                      4. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{*.f64}\left(b, \color{blue}{\left({b}^{2} \cdot \left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)}\right) \]
                      5. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left({b}^{2}\right), \color{blue}{\left(-1 \cdot \frac{x}{{b}^{2} \cdot y} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)}\right)\right) \]
                      6. unpow2N/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\left(b \cdot b\right), \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)\right) \]
                      7. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}} + \left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right)\right)\right)\right) \]
                      8. +-commutativeN/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\left(\frac{-1}{6} \cdot \frac{x}{y} + \left(\frac{1}{2} \cdot \frac{x}{b \cdot y} + \frac{x}{{b}^{3} \cdot y}\right)\right) + \color{blue}{-1 \cdot \frac{x}{{b}^{2} \cdot y}}\right)\right)\right) \]
                      9. associate-+r+N/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{*.f64}\left(\mathsf{*.f64}\left(b, b\right), \left(\left(\left(\frac{-1}{6} \cdot \frac{x}{y} + \frac{1}{2} \cdot \frac{x}{b \cdot y}\right) + \frac{x}{{b}^{3} \cdot y}\right) + \color{blue}{-1} \cdot \frac{x}{{b}^{2} \cdot y}\right)\right)\right) \]
                    11. Simplified24.5%

                      \[\leadsto \color{blue}{b \cdot \left(\left(b \cdot b\right) \cdot \left(\frac{x}{y} \cdot \left(-0.16666666666666666 + \frac{0.5}{b}\right) + \left(\frac{x}{b \cdot \left(y \cdot \left(b \cdot b\right)\right)} - \frac{x}{y \cdot \left(b \cdot b\right)}\right)\right)\right)} \]
                    12. Taylor expanded in b around 0

                      \[\leadsto \mathsf{*.f64}\left(b, \color{blue}{\left(\frac{x}{b \cdot y}\right)}\right) \]
                    13. Step-by-step derivation
                      1. /-lowering-/.f64N/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(x, \color{blue}{\left(b \cdot y\right)}\right)\right) \]
                      2. *-commutativeN/A

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(x, \left(y \cdot \color{blue}{b}\right)\right)\right) \]
                      3. *-lowering-*.f6437.5%

                        \[\leadsto \mathsf{*.f64}\left(b, \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{b}\right)\right)\right) \]
                    14. Simplified37.5%

                      \[\leadsto b \cdot \color{blue}{\frac{x}{y \cdot b}} \]
                  8. Recombined 2 regimes into one program.
                  9. Final simplification35.3%

                    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 4.8 \cdot 10^{-18}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;b \cdot \frac{x}{y \cdot b}\\ \end{array} \]
                  10. Add Preprocessing

                  Alternative 18: 31.6% accurate, 31.5× speedup?

                  \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 1.28 \cdot 10^{-5}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{y}{x}}\\ \end{array} \end{array} \]
                  (FPCore (x y z t a b)
                   :precision binary64
                   (if (<= t 1.28e-5) (/ x (* y a)) (/ 1.0 (/ y x))))
                  double code(double x, double y, double z, double t, double a, double b) {
                  	double tmp;
                  	if (t <= 1.28e-5) {
                  		tmp = x / (y * a);
                  	} else {
                  		tmp = 1.0 / (y / x);
                  	}
                  	return tmp;
                  }
                  
                  real(8) function code(x, y, z, t, a, b)
                      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), intent (in) :: b
                      real(8) :: tmp
                      if (t <= 1.28d-5) then
                          tmp = x / (y * a)
                      else
                          tmp = 1.0d0 / (y / x)
                      end if
                      code = tmp
                  end function
                  
                  public static double code(double x, double y, double z, double t, double a, double b) {
                  	double tmp;
                  	if (t <= 1.28e-5) {
                  		tmp = x / (y * a);
                  	} else {
                  		tmp = 1.0 / (y / x);
                  	}
                  	return tmp;
                  }
                  
                  def code(x, y, z, t, a, b):
                  	tmp = 0
                  	if t <= 1.28e-5:
                  		tmp = x / (y * a)
                  	else:
                  		tmp = 1.0 / (y / x)
                  	return tmp
                  
                  function code(x, y, z, t, a, b)
                  	tmp = 0.0
                  	if (t <= 1.28e-5)
                  		tmp = Float64(x / Float64(y * a));
                  	else
                  		tmp = Float64(1.0 / Float64(y / x));
                  	end
                  	return tmp
                  end
                  
                  function tmp_2 = code(x, y, z, t, a, b)
                  	tmp = 0.0;
                  	if (t <= 1.28e-5)
                  		tmp = x / (y * a);
                  	else
                  		tmp = 1.0 / (y / x);
                  	end
                  	tmp_2 = tmp;
                  end
                  
                  code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, 1.28e-5], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], N[(1.0 / N[(y / x), $MachinePrecision]), $MachinePrecision]]
                  
                  \begin{array}{l}
                  
                  \\
                  \begin{array}{l}
                  \mathbf{if}\;t \leq 1.28 \cdot 10^{-5}:\\
                  \;\;\;\;\frac{x}{y \cdot a}\\
                  
                  \mathbf{else}:\\
                  \;\;\;\;\frac{1}{\frac{y}{x}}\\
                  
                  
                  \end{array}
                  \end{array}
                  
                  Derivation
                  1. Split input into 2 regimes
                  2. if t < 1.2799999999999999e-5

                    1. Initial program 99.0%

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

                      \[\leadsto \mathsf{/.f64}\left(\color{blue}{\left(x \cdot e^{\log a \cdot \left(t - 1\right) - b}\right)}, y\right) \]
                    4. Step-by-step derivation
                      1. exp-diffN/A

                        \[\leadsto \mathsf{/.f64}\left(\left(x \cdot \frac{e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                      2. associate-/l*N/A

                        \[\leadsto \mathsf{/.f64}\left(\left(\frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{e^{b}}\right), y\right) \]
                      3. *-commutativeN/A

                        \[\leadsto \mathsf{/.f64}\left(\left(\frac{e^{\log a \cdot \left(t - 1\right)} \cdot x}{e^{b}}\right), y\right) \]
                      4. associate-/l*N/A

                        \[\leadsto \mathsf{/.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)} \cdot \frac{x}{e^{b}}\right), y\right) \]
                      5. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(e^{\log a \cdot \left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                      6. exp-to-powN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left({a}^{\left(t - 1\right)}\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                      7. pow-lowering-pow.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t - 1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                      8. sub-negN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                      9. metadata-evalN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \left(t + -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                      10. +-lowering-+.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \left(\frac{x}{e^{b}}\right)\right), y\right) \]
                      11. /-lowering-/.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \left(e^{b}\right)\right)\right), y\right) \]
                      12. exp-lowering-exp.f6466.0%

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \mathsf{/.f64}\left(x, \mathsf{exp.f64}\left(b\right)\right)\right), y\right) \]
                    5. Simplified66.0%

                      \[\leadsto \frac{\color{blue}{{a}^{\left(t + -1\right)} \cdot \frac{x}{e^{b}}}}{y} \]
                    6. Taylor expanded in b around 0

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(a, \mathsf{+.f64}\left(t, -1\right)\right), \color{blue}{x}\right), y\right) \]
                    7. Step-by-step derivation
                      1. Simplified52.3%

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

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

                          \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{\left(a \cdot y\right)}\right) \]
                        2. *-lowering-*.f6434.6%

                          \[\leadsto \mathsf{/.f64}\left(x, \mathsf{*.f64}\left(a, \color{blue}{y}\right)\right) \]
                      4. Simplified34.6%

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

                      if 1.2799999999999999e-5 < t

                      1. Initial program 100.0%

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

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                      4. Step-by-step derivation
                        1. mul-1-negN/A

                          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                        2. neg-sub0N/A

                          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                        3. --lowering--.f6448.1%

                          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                      5. Simplified48.1%

                        \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                      6. Taylor expanded in b around 0

                        \[\leadsto \color{blue}{\frac{x}{y}} \]
                      7. Step-by-step derivation
                        1. /-lowering-/.f6422.3%

                          \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{y}\right) \]
                      8. Simplified22.3%

                        \[\leadsto \color{blue}{\frac{x}{y}} \]
                      9. Step-by-step derivation
                        1. clear-numN/A

                          \[\leadsto \frac{1}{\color{blue}{\frac{y}{x}}} \]
                        2. /-lowering-/.f64N/A

                          \[\leadsto \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{y}{x}\right)}\right) \]
                        3. /-lowering-/.f6422.5%

                          \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \color{blue}{x}\right)\right) \]
                      10. Applied egg-rr22.5%

                        \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \]
                    8. Recombined 2 regimes into one program.
                    9. Final simplification31.3%

                      \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 1.28 \cdot 10^{-5}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{y}{x}}\\ \end{array} \]
                    10. Add Preprocessing

                    Alternative 19: 16.6% accurate, 63.0× speedup?

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

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

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                    4. Step-by-step derivation
                      1. mul-1-negN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                      2. neg-sub0N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                      3. --lowering--.f6448.5%

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                    5. Simplified48.5%

                      \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                    6. Taylor expanded in b around 0

                      \[\leadsto \color{blue}{\frac{x}{y}} \]
                    7. Step-by-step derivation
                      1. /-lowering-/.f6416.1%

                        \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{y}\right) \]
                    8. Simplified16.1%

                      \[\leadsto \color{blue}{\frac{x}{y}} \]
                    9. Step-by-step derivation
                      1. clear-numN/A

                        \[\leadsto \frac{1}{\color{blue}{\frac{y}{x}}} \]
                      2. /-lowering-/.f64N/A

                        \[\leadsto \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{y}{x}\right)}\right) \]
                      3. /-lowering-/.f6416.5%

                        \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(y, \color{blue}{x}\right)\right) \]
                    10. Applied egg-rr16.5%

                      \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \]
                    11. Add Preprocessing

                    Alternative 20: 16.3% accurate, 105.0× speedup?

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

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

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\color{blue}{\left(-1 \cdot b\right)}\right)\right), y\right) \]
                    4. Step-by-step derivation
                      1. mul-1-negN/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(b\right)\right)\right)\right), y\right) \]
                      2. neg-sub0N/A

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\left(0 - b\right)\right)\right), y\right) \]
                      3. --lowering--.f6448.5%

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(x, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, b\right)\right)\right), y\right) \]
                    5. Simplified48.5%

                      \[\leadsto \frac{x \cdot e^{\color{blue}{0 - b}}}{y} \]
                    6. Taylor expanded in b around 0

                      \[\leadsto \color{blue}{\frac{x}{y}} \]
                    7. Step-by-step derivation
                      1. /-lowering-/.f6416.1%

                        \[\leadsto \mathsf{/.f64}\left(x, \color{blue}{y}\right) \]
                    8. Simplified16.1%

                      \[\leadsto \color{blue}{\frac{x}{y}} \]
                    9. Add Preprocessing

                    Developer Target 1: 71.4% accurate, 1.0× speedup?

                    \[\begin{array}{l} \\ \begin{array}{l} t_1 := {a}^{\left(t - 1\right)}\\ t_2 := \frac{x \cdot \frac{t\_1}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \mathbf{if}\;t < -0.8845848504127471:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t < 852031.2288374073:\\ \;\;\;\;\frac{\frac{x}{y} \cdot t\_1}{e^{b - \log z \cdot y}}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
                    (FPCore (x y z t a b)
                     :precision binary64
                     (let* ((t_1 (pow a (- t 1.0)))
                            (t_2 (/ (* x (/ t_1 y)) (- (+ b 1.0) (* y (log z))))))
                       (if (< t -0.8845848504127471)
                         t_2
                         (if (< t 852031.2288374073)
                           (/ (* (/ x y) t_1) (exp (- b (* (log z) y))))
                           t_2))))
                    double code(double x, double y, double z, double t, double a, double b) {
                    	double t_1 = pow(a, (t - 1.0));
                    	double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z)));
                    	double tmp;
                    	if (t < -0.8845848504127471) {
                    		tmp = t_2;
                    	} else if (t < 852031.2288374073) {
                    		tmp = ((x / y) * t_1) / exp((b - (log(z) * y)));
                    	} else {
                    		tmp = t_2;
                    	}
                    	return tmp;
                    }
                    
                    real(8) function code(x, y, z, t, a, b)
                        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), intent (in) :: b
                        real(8) :: t_1
                        real(8) :: t_2
                        real(8) :: tmp
                        t_1 = a ** (t - 1.0d0)
                        t_2 = (x * (t_1 / y)) / ((b + 1.0d0) - (y * log(z)))
                        if (t < (-0.8845848504127471d0)) then
                            tmp = t_2
                        else if (t < 852031.2288374073d0) then
                            tmp = ((x / y) * t_1) / exp((b - (log(z) * y)))
                        else
                            tmp = t_2
                        end if
                        code = tmp
                    end function
                    
                    public static double code(double x, double y, double z, double t, double a, double b) {
                    	double t_1 = Math.pow(a, (t - 1.0));
                    	double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * Math.log(z)));
                    	double tmp;
                    	if (t < -0.8845848504127471) {
                    		tmp = t_2;
                    	} else if (t < 852031.2288374073) {
                    		tmp = ((x / y) * t_1) / Math.exp((b - (Math.log(z) * y)));
                    	} else {
                    		tmp = t_2;
                    	}
                    	return tmp;
                    }
                    
                    def code(x, y, z, t, a, b):
                    	t_1 = math.pow(a, (t - 1.0))
                    	t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * math.log(z)))
                    	tmp = 0
                    	if t < -0.8845848504127471:
                    		tmp = t_2
                    	elif t < 852031.2288374073:
                    		tmp = ((x / y) * t_1) / math.exp((b - (math.log(z) * y)))
                    	else:
                    		tmp = t_2
                    	return tmp
                    
                    function code(x, y, z, t, a, b)
                    	t_1 = a ^ Float64(t - 1.0)
                    	t_2 = Float64(Float64(x * Float64(t_1 / y)) / Float64(Float64(b + 1.0) - Float64(y * log(z))))
                    	tmp = 0.0
                    	if (t < -0.8845848504127471)
                    		tmp = t_2;
                    	elseif (t < 852031.2288374073)
                    		tmp = Float64(Float64(Float64(x / y) * t_1) / exp(Float64(b - Float64(log(z) * y))));
                    	else
                    		tmp = t_2;
                    	end
                    	return tmp
                    end
                    
                    function tmp_2 = code(x, y, z, t, a, b)
                    	t_1 = a ^ (t - 1.0);
                    	t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z)));
                    	tmp = 0.0;
                    	if (t < -0.8845848504127471)
                    		tmp = t_2;
                    	elseif (t < 852031.2288374073)
                    		tmp = ((x / y) * t_1) / exp((b - (log(z) * y)));
                    	else
                    		tmp = t_2;
                    	end
                    	tmp_2 = tmp;
                    end
                    
                    code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Power[a, N[(t - 1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision] / N[(N[(b + 1.0), $MachinePrecision] - N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -0.8845848504127471], t$95$2, If[Less[t, 852031.2288374073], N[(N[(N[(x / y), $MachinePrecision] * t$95$1), $MachinePrecision] / N[Exp[N[(b - N[(N[Log[z], $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$2]]]]
                    
                    \begin{array}{l}
                    
                    \\
                    \begin{array}{l}
                    t_1 := {a}^{\left(t - 1\right)}\\
                    t_2 := \frac{x \cdot \frac{t\_1}{y}}{\left(b + 1\right) - y \cdot \log z}\\
                    \mathbf{if}\;t < -0.8845848504127471:\\
                    \;\;\;\;t\_2\\
                    
                    \mathbf{elif}\;t < 852031.2288374073:\\
                    \;\;\;\;\frac{\frac{x}{y} \cdot t\_1}{e^{b - \log z \cdot y}}\\
                    
                    \mathbf{else}:\\
                    \;\;\;\;t\_2\\
                    
                    
                    \end{array}
                    \end{array}
                    

                    Reproduce

                    ?
                    herbie shell --seed 2024152 
                    (FPCore (x y z t a b)
                      :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A"
                      :precision binary64
                    
                      :alt
                      (! :herbie-platform default (if (< t -8845848504127471/10000000000000000) (/ (* x (/ (pow a (- t 1)) y)) (- (+ b 1) (* y (log z)))) (if (< t 8520312288374073/10000000000) (/ (* (/ x y) (pow a (- t 1))) (exp (- b (* (log z) y)))) (/ (* x (/ (pow a (- t 1)) y)) (- (+ b 1) (* y (log z)))))))
                    
                      (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))