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

Percentage Accurate: 98.4% → 98.4%
Time: 14.9s
Alternatives: 24
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 24 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 + \log a \cdot \left(t + -1\right)\right) - b}}{y} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (/ (* x (exp (- (+ (* y (log z)) (* (log a) (+ t -1.0))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
	return (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - 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)) + (log(a) * (t + (-1.0d0)))) - 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)) + (Math.log(a) * (t + -1.0))) - b))) / y;
}
def code(x, y, z, t, a, b):
	return (x * math.exp((((y * math.log(z)) + (math.log(a) * (t + -1.0))) - b))) / y
function code(x, y, z, t, a, b)
	return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(log(a) * Float64(t + -1.0))) - b))) / y)
end
function tmp = code(x, y, z, t, a, b)
	tmp = (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - 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[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}

\\
\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}
\end{array}
Derivation
  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. Final simplification98.7%

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

Alternative 2: 55.2% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{y}, \frac{-1}{y}\right), \frac{1}{y}\right)}{a}\\ \mathbf{elif}\;t\_1 \leq 4 \cdot 10^{-108}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (/ (* x (exp (- (+ (* y (log z)) (* (log a) (+ t -1.0))) b))) y)))
   (if (<= t_1 (- INFINITY))
     (* x (/ (fma b (fma 0.5 (/ b y) (/ -1.0 y)) (/ 1.0 y)) a))
     (if (<= t_1 4e-108)
       (/
        x
        (* y (fma b (fma b (fma a 0.5 (* 0.16666666666666666 (* a b))) a) a)))
       (* x (/ (fma b (fma 0.5 (/ b a) (/ -1.0 a)) (/ 1.0 a)) y))))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - b))) / y;
	double tmp;
	if (t_1 <= -((double) INFINITY)) {
		tmp = x * (fma(b, fma(0.5, (b / y), (-1.0 / y)), (1.0 / y)) / a);
	} else if (t_1 <= 4e-108) {
		tmp = x / (y * fma(b, fma(b, fma(a, 0.5, (0.16666666666666666 * (a * b))), a), a));
	} else {
		tmp = x * (fma(b, fma(0.5, (b / a), (-1.0 / a)), (1.0 / a)) / y);
	}
	return tmp;
}
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(log(a) * Float64(t + -1.0))) - b))) / y)
	tmp = 0.0
	if (t_1 <= Float64(-Inf))
		tmp = Float64(x * Float64(fma(b, fma(0.5, Float64(b / y), Float64(-1.0 / y)), Float64(1.0 / y)) / a));
	elseif (t_1 <= 4e-108)
		tmp = Float64(x / Float64(y * fma(b, fma(b, fma(a, 0.5, Float64(0.16666666666666666 * Float64(a * b))), a), a)));
	else
		tmp = Float64(x * Float64(fma(b, fma(0.5, Float64(b / a), Float64(-1.0 / a)), Float64(1.0 / a)) / y));
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(x * N[(N[(b * N[(0.5 * N[(b / y), $MachinePrecision] + N[(-1.0 / y), $MachinePrecision]), $MachinePrecision] + N[(1.0 / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 4e-108], N[(x / N[(y * N[(b * N[(b * N[(a * 0.5 + N[(0.16666666666666666 * N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + a), $MachinePrecision] + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(b * N[(0.5 * N[(b / a), $MachinePrecision] + N[(-1.0 / a), $MachinePrecision]), $MachinePrecision] + N[(1.0 / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{y}, \frac{-1}{y}\right), \frac{1}{y}\right)}{a}\\

\mathbf{elif}\;t\_1 \leq 4 \cdot 10^{-108}:\\
\;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\

\mathbf{else}:\\
\;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y) < -inf.0

    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 0

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

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

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

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

        \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
      5. lower-/.f64N/A

        \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
      6. +-commutativeN/A

        \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
      7. mul-1-negN/A

        \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
      8. unsub-negN/A

        \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
      9. exp-diffN/A

        \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
      10. lower-/.f64N/A

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

        \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
      12. exp-to-powN/A

        \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
      13. lower-pow.f64N/A

        \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
      14. rem-exp-logN/A

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
      15. lower-*.f64N/A

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
      16. lower-exp.f6472.7

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
    5. Applied rewrites72.7%

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

      \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
    7. Step-by-step derivation
      1. Applied rewrites55.9%

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

        \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
      3. Step-by-step derivation
        1. Applied rewrites47.8%

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

          \[\leadsto x \cdot \frac{b \cdot \left(\frac{1}{2} \cdot \frac{b}{y} - \frac{1}{y}\right) + \frac{1}{y}}{a} \]
        3. Step-by-step derivation
          1. Applied rewrites53.5%

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

          if -inf.0 < (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y) < 4.00000000000000016e-108

          1. Initial program 97.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
          4. Step-by-step derivation
            1. *-commutativeN/A

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

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

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

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

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

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

              \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
            8. lower-pow.f64N/A

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

              \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
            10. sub-negN/A

              \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
            11. metadata-evalN/A

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

              \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
            13. lower-*.f64N/A

              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
            14. lower-exp.f6474.7

              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
          5. Applied rewrites74.7%

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

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

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

              \[\leadsto \frac{x}{y \cdot \left(a + b \cdot \color{blue}{\left(a + b \cdot \left(\frac{1}{6} \cdot \left(a \cdot b\right) + \frac{1}{2} \cdot a\right)\right)}\right)} \]
            3. Step-by-step derivation
              1. Applied rewrites63.7%

                \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \color{blue}{\mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right)}, a\right), a\right)} \]

              if 4.00000000000000016e-108 < (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y)

              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 t around 0

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

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

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

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

                  \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                5. lower-/.f64N/A

                  \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                6. +-commutativeN/A

                  \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                7. mul-1-negN/A

                  \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                8. unsub-negN/A

                  \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                9. exp-diffN/A

                  \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                10. lower-/.f64N/A

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

                  \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                12. exp-to-powN/A

                  \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                13. lower-pow.f64N/A

                  \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                14. rem-exp-logN/A

                  \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                15. lower-*.f64N/A

                  \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                16. lower-exp.f6473.8

                  \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
              5. Applied rewrites73.8%

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

                \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
              7. Step-by-step derivation
                1. Applied rewrites63.9%

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

                  \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
                3. Step-by-step derivation
                  1. Applied rewrites48.4%

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

                    \[\leadsto x \cdot \frac{b \cdot \left(\frac{1}{2} \cdot \frac{b}{a} - \frac{1}{a}\right) + \frac{1}{a}}{y} \]
                  3. Step-by-step derivation
                    1. Applied rewrites55.7%

                      \[\leadsto x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y} \]
                  4. Recombined 3 regimes into one program.
                  5. Final simplification58.8%

                    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y} \leq -\infty:\\ \;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{y}, \frac{-1}{y}\right), \frac{1}{y}\right)}{a}\\ \mathbf{elif}\;\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y} \leq 4 \cdot 10^{-108}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\ \end{array} \]
                  6. Add Preprocessing

                  Alternative 3: 55.2% accurate, 0.5× speedup?

                  \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}\\ t_2 := x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq 4 \cdot 10^{-108}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
                  (FPCore (x y z t a b)
                   :precision binary64
                   (let* ((t_1 (/ (* x (exp (- (+ (* y (log z)) (* (log a) (+ t -1.0))) b))) y))
                          (t_2 (* x (/ (fma b (fma 0.5 (/ b a) (/ -1.0 a)) (/ 1.0 a)) y))))
                     (if (<= t_1 (- INFINITY))
                       t_2
                       (if (<= t_1 4e-108)
                         (/
                          x
                          (* y (fma b (fma b (fma a 0.5 (* 0.16666666666666666 (* a b))) a) a)))
                         t_2))))
                  double code(double x, double y, double z, double t, double a, double b) {
                  	double t_1 = (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - b))) / y;
                  	double t_2 = x * (fma(b, fma(0.5, (b / a), (-1.0 / a)), (1.0 / a)) / y);
                  	double tmp;
                  	if (t_1 <= -((double) INFINITY)) {
                  		tmp = t_2;
                  	} else if (t_1 <= 4e-108) {
                  		tmp = x / (y * fma(b, fma(b, fma(a, 0.5, (0.16666666666666666 * (a * b))), a), a));
                  	} else {
                  		tmp = t_2;
                  	}
                  	return tmp;
                  }
                  
                  function code(x, y, z, t, a, b)
                  	t_1 = Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(log(a) * Float64(t + -1.0))) - b))) / y)
                  	t_2 = Float64(x * Float64(fma(b, fma(0.5, Float64(b / a), Float64(-1.0 / a)), Float64(1.0 / a)) / y))
                  	tmp = 0.0
                  	if (t_1 <= Float64(-Inf))
                  		tmp = t_2;
                  	elseif (t_1 <= 4e-108)
                  		tmp = Float64(x / Float64(y * fma(b, fma(b, fma(a, 0.5, Float64(0.16666666666666666 * Float64(a * b))), a), a)));
                  	else
                  		tmp = t_2;
                  	end
                  	return tmp
                  end
                  
                  code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(b * N[(0.5 * N[(b / a), $MachinePrecision] + N[(-1.0 / a), $MachinePrecision]), $MachinePrecision] + N[(1.0 / a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], t$95$2, If[LessEqual[t$95$1, 4e-108], N[(x / N[(y * N[(b * N[(b * N[(a * 0.5 + N[(0.16666666666666666 * N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + a), $MachinePrecision] + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
                  
                  \begin{array}{l}
                  
                  \\
                  \begin{array}{l}
                  t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}\\
                  t_2 := x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\
                  \mathbf{if}\;t\_1 \leq -\infty:\\
                  \;\;\;\;t\_2\\
                  
                  \mathbf{elif}\;t\_1 \leq 4 \cdot 10^{-108}:\\
                  \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\
                  
                  \mathbf{else}:\\
                  \;\;\;\;t\_2\\
                  
                  
                  \end{array}
                  \end{array}
                  
                  Derivation
                  1. Split input into 2 regimes
                  2. if (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y) < -inf.0 or 4.00000000000000016e-108 < (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y)

                    1. Initial program 99.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 t around 0

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

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

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

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

                        \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                      5. lower-/.f64N/A

                        \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                      6. +-commutativeN/A

                        \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                      7. mul-1-negN/A

                        \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                      8. unsub-negN/A

                        \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                      9. exp-diffN/A

                        \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                      10. lower-/.f64N/A

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

                        \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                      12. exp-to-powN/A

                        \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                      13. lower-pow.f64N/A

                        \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                      14. rem-exp-logN/A

                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                      15. lower-*.f64N/A

                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                      16. lower-exp.f6473.2

                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                    5. Applied rewrites73.2%

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

                      \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                    7. Step-by-step derivation
                      1. Applied rewrites59.9%

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

                        \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
                      3. Step-by-step derivation
                        1. Applied rewrites48.1%

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

                          \[\leadsto x \cdot \frac{b \cdot \left(\frac{1}{2} \cdot \frac{b}{a} - \frac{1}{a}\right) + \frac{1}{a}}{y} \]
                        3. Step-by-step derivation
                          1. Applied rewrites56.7%

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

                          if -inf.0 < (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y) < 4.00000000000000016e-108

                          1. Initial program 97.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                          4. Step-by-step derivation
                            1. *-commutativeN/A

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

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

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

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

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

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

                              \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                            8. lower-pow.f64N/A

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

                              \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                            10. sub-negN/A

                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                            11. metadata-evalN/A

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

                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                            13. lower-*.f64N/A

                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                            14. lower-exp.f6474.7

                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                          5. Applied rewrites74.7%

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

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

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

                              \[\leadsto \frac{x}{y \cdot \left(a + b \cdot \color{blue}{\left(a + b \cdot \left(\frac{1}{6} \cdot \left(a \cdot b\right) + \frac{1}{2} \cdot a\right)\right)}\right)} \]
                            3. Step-by-step derivation
                              1. Applied rewrites63.7%

                                \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \color{blue}{\mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right)}, a\right), a\right)} \]
                            4. Recombined 2 regimes into one program.
                            5. Final simplification59.9%

                              \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y} \leq -\infty:\\ \;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\ \mathbf{elif}\;\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y} \leq 4 \cdot 10^{-108}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \frac{b}{a}, \frac{-1}{a}\right), \frac{1}{a}\right)}{y}\\ \end{array} \]
                            6. Add Preprocessing

                            Alternative 4: 50.6% accurate, 0.5× speedup?

                            \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}\\ t_2 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq 10^{+251}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
                            (FPCore (x y z t a b)
                             :precision binary64
                             (let* ((t_1 (/ (* x (exp (- (+ (* y (log z)) (* (log a) (+ t -1.0))) b))) y))
                                    (t_2 (* x (* b (* b (/ 0.5 (* y a)))))))
                               (if (<= t_1 (- INFINITY))
                                 t_2
                                 (if (<= t_1 1e+251)
                                   (/
                                    x
                                    (* y (fma b (fma b (fma a 0.5 (* 0.16666666666666666 (* a b))) a) a)))
                                   t_2))))
                            double code(double x, double y, double z, double t, double a, double b) {
                            	double t_1 = (x * exp((((y * log(z)) + (log(a) * (t + -1.0))) - b))) / y;
                            	double t_2 = x * (b * (b * (0.5 / (y * a))));
                            	double tmp;
                            	if (t_1 <= -((double) INFINITY)) {
                            		tmp = t_2;
                            	} else if (t_1 <= 1e+251) {
                            		tmp = x / (y * fma(b, fma(b, fma(a, 0.5, (0.16666666666666666 * (a * b))), a), a));
                            	} else {
                            		tmp = t_2;
                            	}
                            	return tmp;
                            }
                            
                            function code(x, y, z, t, a, b)
                            	t_1 = Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(log(a) * Float64(t + -1.0))) - b))) / y)
                            	t_2 = Float64(x * Float64(b * Float64(b * Float64(0.5 / Float64(y * a)))))
                            	tmp = 0.0
                            	if (t_1 <= Float64(-Inf))
                            		tmp = t_2;
                            	elseif (t_1 <= 1e+251)
                            		tmp = Float64(x / Float64(y * fma(b, fma(b, fma(a, 0.5, Float64(0.16666666666666666 * Float64(a * b))), a), a)));
                            	else
                            		tmp = t_2;
                            	end
                            	return tmp
                            end
                            
                            code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(b * N[(b * N[(0.5 / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], t$95$2, If[LessEqual[t$95$1, 1e+251], N[(x / N[(y * N[(b * N[(b * N[(a * 0.5 + N[(0.16666666666666666 * N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + a), $MachinePrecision] + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
                            
                            \begin{array}{l}
                            
                            \\
                            \begin{array}{l}
                            t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y}\\
                            t_2 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\
                            \mathbf{if}\;t\_1 \leq -\infty:\\
                            \;\;\;\;t\_2\\
                            
                            \mathbf{elif}\;t\_1 \leq 10^{+251}:\\
                            \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\
                            
                            \mathbf{else}:\\
                            \;\;\;\;t\_2\\
                            
                            
                            \end{array}
                            \end{array}
                            
                            Derivation
                            1. Split input into 2 regimes
                            2. if (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y) < -inf.0 or 1e251 < (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) 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 t around 0

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

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

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

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

                                  \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                5. lower-/.f64N/A

                                  \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                6. +-commutativeN/A

                                  \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                7. mul-1-negN/A

                                  \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                8. unsub-negN/A

                                  \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                9. exp-diffN/A

                                  \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                10. lower-/.f64N/A

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

                                  \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                12. exp-to-powN/A

                                  \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                13. lower-pow.f64N/A

                                  \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                14. rem-exp-logN/A

                                  \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                15. lower-*.f64N/A

                                  \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                16. lower-exp.f6473.1

                                  \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                              5. Applied rewrites73.1%

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

                                \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                              7. Step-by-step derivation
                                1. Applied rewrites59.0%

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

                                  \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
                                3. Step-by-step derivation
                                  1. Applied rewrites46.5%

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

                                    \[\leadsto x \cdot \left(\frac{1}{2} \cdot \frac{{b}^{2}}{a \cdot \color{blue}{y}}\right) \]
                                  3. Step-by-step derivation
                                    1. Applied rewrites45.0%

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

                                    if -inf.0 < (/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))) b))) y) < 1e251

                                    1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                        \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                      8. lower-pow.f64N/A

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

                                        \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                      10. sub-negN/A

                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                      11. metadata-evalN/A

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

                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                      13. lower-*.f64N/A

                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                      14. lower-exp.f6476.2

                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                    5. Applied rewrites76.2%

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

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

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

                                        \[\leadsto \frac{x}{y \cdot \left(a + b \cdot \color{blue}{\left(a + b \cdot \left(\frac{1}{6} \cdot \left(a \cdot b\right) + \frac{1}{2} \cdot a\right)\right)}\right)} \]
                                      3. Step-by-step derivation
                                        1. Applied rewrites64.3%

                                          \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \color{blue}{\mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right)}, a\right), a\right)} \]
                                      4. Recombined 2 regimes into one program.
                                      5. Final simplification54.6%

                                        \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y} \leq -\infty:\\ \;\;\;\;x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{elif}\;\frac{x \cdot e^{\left(y \cdot \log z + \log a \cdot \left(t + -1\right)\right) - b}}{y} \leq 10^{+251}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(a, 0.5, 0.16666666666666666 \cdot \left(a \cdot b\right)\right), a\right), a\right)}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \end{array} \]
                                      6. Add Preprocessing

                                      Alternative 5: 81.5% accurate, 1.3× speedup?

                                      \[\begin{array}{l} \\ \begin{array}{l} t_1 := y \cdot e^{b}\\ t_2 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\ \mathbf{if}\;y \leq -1.1 \cdot 10^{+22}:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;y \leq -5.5 \cdot 10^{-183}:\\ \;\;\;\;\frac{\frac{x}{t\_1}}{a}\\ \mathbf{elif}\;y \leq 4.4 \cdot 10^{-212}:\\ \;\;\;\;\frac{x \cdot e^{t \cdot \log a - b}}{y}\\ \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\ \;\;\;\;\frac{x}{a \cdot t\_1}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
                                      (FPCore (x y z t a b)
                                       :precision binary64
                                       (let* ((t_1 (* y (exp b))) (t_2 (/ (* x (exp (- (* y (log z)) b))) y)))
                                         (if (<= y -1.1e+22)
                                           t_2
                                           (if (<= y -5.5e-183)
                                             (/ (/ x t_1) a)
                                             (if (<= y 4.4e-212)
                                               (/ (* x (exp (- (* t (log a)) b))) y)
                                               (if (<= y 4.8e-11) (/ x (* a t_1)) t_2))))))
                                      double code(double x, double y, double z, double t, double a, double b) {
                                      	double t_1 = y * exp(b);
                                      	double t_2 = (x * exp(((y * log(z)) - b))) / y;
                                      	double tmp;
                                      	if (y <= -1.1e+22) {
                                      		tmp = t_2;
                                      	} else if (y <= -5.5e-183) {
                                      		tmp = (x / t_1) / a;
                                      	} else if (y <= 4.4e-212) {
                                      		tmp = (x * exp(((t * log(a)) - b))) / y;
                                      	} else if (y <= 4.8e-11) {
                                      		tmp = x / (a * t_1);
                                      	} 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 = y * exp(b)
                                          t_2 = (x * exp(((y * log(z)) - b))) / y
                                          if (y <= (-1.1d+22)) then
                                              tmp = t_2
                                          else if (y <= (-5.5d-183)) then
                                              tmp = (x / t_1) / a
                                          else if (y <= 4.4d-212) then
                                              tmp = (x * exp(((t * log(a)) - b))) / y
                                          else if (y <= 4.8d-11) then
                                              tmp = x / (a * t_1)
                                          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 = y * Math.exp(b);
                                      	double t_2 = (x * Math.exp(((y * Math.log(z)) - b))) / y;
                                      	double tmp;
                                      	if (y <= -1.1e+22) {
                                      		tmp = t_2;
                                      	} else if (y <= -5.5e-183) {
                                      		tmp = (x / t_1) / a;
                                      	} else if (y <= 4.4e-212) {
                                      		tmp = (x * Math.exp(((t * Math.log(a)) - b))) / y;
                                      	} else if (y <= 4.8e-11) {
                                      		tmp = x / (a * t_1);
                                      	} else {
                                      		tmp = t_2;
                                      	}
                                      	return tmp;
                                      }
                                      
                                      def code(x, y, z, t, a, b):
                                      	t_1 = y * math.exp(b)
                                      	t_2 = (x * math.exp(((y * math.log(z)) - b))) / y
                                      	tmp = 0
                                      	if y <= -1.1e+22:
                                      		tmp = t_2
                                      	elif y <= -5.5e-183:
                                      		tmp = (x / t_1) / a
                                      	elif y <= 4.4e-212:
                                      		tmp = (x * math.exp(((t * math.log(a)) - b))) / y
                                      	elif y <= 4.8e-11:
                                      		tmp = x / (a * t_1)
                                      	else:
                                      		tmp = t_2
                                      	return tmp
                                      
                                      function code(x, y, z, t, a, b)
                                      	t_1 = Float64(y * exp(b))
                                      	t_2 = Float64(Float64(x * exp(Float64(Float64(y * log(z)) - b))) / y)
                                      	tmp = 0.0
                                      	if (y <= -1.1e+22)
                                      		tmp = t_2;
                                      	elseif (y <= -5.5e-183)
                                      		tmp = Float64(Float64(x / t_1) / a);
                                      	elseif (y <= 4.4e-212)
                                      		tmp = Float64(Float64(x * exp(Float64(Float64(t * log(a)) - b))) / y);
                                      	elseif (y <= 4.8e-11)
                                      		tmp = Float64(x / Float64(a * t_1));
                                      	else
                                      		tmp = t_2;
                                      	end
                                      	return tmp
                                      end
                                      
                                      function tmp_2 = code(x, y, z, t, a, b)
                                      	t_1 = y * exp(b);
                                      	t_2 = (x * exp(((y * log(z)) - b))) / y;
                                      	tmp = 0.0;
                                      	if (y <= -1.1e+22)
                                      		tmp = t_2;
                                      	elseif (y <= -5.5e-183)
                                      		tmp = (x / t_1) / a;
                                      	elseif (y <= 4.4e-212)
                                      		tmp = (x * exp(((t * log(a)) - b))) / y;
                                      	elseif (y <= 4.8e-11)
                                      		tmp = x / (a * t_1);
                                      	else
                                      		tmp = t_2;
                                      	end
                                      	tmp_2 = tmp;
                                      end
                                      
                                      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[Exp[N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -1.1e+22], t$95$2, If[LessEqual[y, -5.5e-183], N[(N[(x / t$95$1), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[y, 4.4e-212], N[(N[(x * N[Exp[N[(N[(t * N[Log[a], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 4.8e-11], N[(x / N[(a * t$95$1), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]
                                      
                                      \begin{array}{l}
                                      
                                      \\
                                      \begin{array}{l}
                                      t_1 := y \cdot e^{b}\\
                                      t_2 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\
                                      \mathbf{if}\;y \leq -1.1 \cdot 10^{+22}:\\
                                      \;\;\;\;t\_2\\
                                      
                                      \mathbf{elif}\;y \leq -5.5 \cdot 10^{-183}:\\
                                      \;\;\;\;\frac{\frac{x}{t\_1}}{a}\\
                                      
                                      \mathbf{elif}\;y \leq 4.4 \cdot 10^{-212}:\\
                                      \;\;\;\;\frac{x \cdot e^{t \cdot \log a - b}}{y}\\
                                      
                                      \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\
                                      \;\;\;\;\frac{x}{a \cdot t\_1}\\
                                      
                                      \mathbf{else}:\\
                                      \;\;\;\;t\_2\\
                                      
                                      
                                      \end{array}
                                      \end{array}
                                      
                                      Derivation
                                      1. Split input into 4 regimes
                                      2. if y < -1.1e22 or 4.8000000000000002e-11 < 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 \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                        4. Step-by-step derivation
                                          1. lower-*.f64N/A

                                            \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                          2. lower-log.f6493.8

                                            \[\leadsto \frac{x \cdot e^{y \cdot \color{blue}{\log z} - b}}{y} \]
                                        5. Applied rewrites93.8%

                                          \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]

                                        if -1.1e22 < y < -5.4999999999999999e-183

                                        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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                        4. Step-by-step derivation
                                          1. *-commutativeN/A

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

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

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

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

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

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

                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                          8. lower-pow.f64N/A

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

                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                          10. sub-negN/A

                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                          11. metadata-evalN/A

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

                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                          13. lower-*.f64N/A

                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                          14. lower-exp.f6491.1

                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                        5. Applied rewrites91.1%

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

                                          \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                        7. Step-by-step derivation
                                          1. Applied rewrites84.9%

                                            \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                          2. Step-by-step derivation
                                            1. Applied rewrites87.3%

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

                                            if -5.4999999999999999e-183 < y < 4.40000000000000006e-212

                                            1. Initial program 98.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 t around inf

                                              \[\leadsto \frac{x \cdot e^{\color{blue}{t \cdot \log a} - b}}{y} \]
                                            4. Step-by-step derivation
                                              1. *-commutativeN/A

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

                                                \[\leadsto \frac{x \cdot e^{\color{blue}{\log a \cdot t} - b}}{y} \]
                                              3. rem-exp-logN/A

                                                \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot t - b}}{y} \]
                                              4. lower-log.f64N/A

                                                \[\leadsto \frac{x \cdot e^{\color{blue}{\log \left(e^{\log a}\right)} \cdot t - b}}{y} \]
                                              5. rem-exp-log90.0

                                                \[\leadsto \frac{x \cdot e^{\log \color{blue}{a} \cdot t - b}}{y} \]
                                            5. Applied rewrites90.0%

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

                                            if 4.40000000000000006e-212 < y < 4.8000000000000002e-11

                                            1. Initial program 94.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                            4. Step-by-step derivation
                                              1. *-commutativeN/A

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

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

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

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

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

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

                                                \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                              8. lower-pow.f64N/A

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

                                                \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                              10. sub-negN/A

                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                              11. metadata-evalN/A

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

                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                              13. lower-*.f64N/A

                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                              14. lower-exp.f6488.1

                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                            5. Applied rewrites88.1%

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

                                              \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                            7. Step-by-step derivation
                                              1. Applied rewrites81.9%

                                                \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                              2. Step-by-step derivation
                                                1. Applied rewrites81.9%

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

                                                \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1.1 \cdot 10^{+22}:\\ \;\;\;\;\frac{x \cdot e^{y \cdot \log z - b}}{y}\\ \mathbf{elif}\;y \leq -5.5 \cdot 10^{-183}:\\ \;\;\;\;\frac{\frac{x}{y \cdot e^{b}}}{a}\\ \mathbf{elif}\;y \leq 4.4 \cdot 10^{-212}:\\ \;\;\;\;\frac{x \cdot e^{t \cdot \log a - b}}{y}\\ \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\ \;\;\;\;\frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot e^{y \cdot \log z - b}}{y}\\ \end{array} \]
                                              5. Add Preprocessing

                                              Alternative 6: 92.3% accurate, 1.4× speedup?

                                              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\ \mathbf{if}\;y \leq -6 \cdot 10^{+26}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 1.32 \cdot 10^{+63}:\\ \;\;\;\;\frac{x \cdot e^{\log a \cdot \left(t + -1\right) - b}}{y}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                              (FPCore (x y z t a b)
                                               :precision binary64
                                               (let* ((t_1 (/ (* x (exp (- (* y (log z)) b))) y)))
                                                 (if (<= y -6e+26)
                                                   t_1
                                                   (if (<= y 1.32e+63) (/ (* x (exp (- (* (log a) (+ t -1.0)) b))) y) t_1))))
                                              double code(double x, double y, double z, double t, double a, double b) {
                                              	double t_1 = (x * exp(((y * log(z)) - b))) / y;
                                              	double tmp;
                                              	if (y <= -6e+26) {
                                              		tmp = t_1;
                                              	} else if (y <= 1.32e+63) {
                                              		tmp = (x * exp(((log(a) * (t + -1.0)) - 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 * exp(((y * log(z)) - b))) / y
                                                  if (y <= (-6d+26)) then
                                                      tmp = t_1
                                                  else if (y <= 1.32d+63) then
                                                      tmp = (x * exp(((log(a) * (t + (-1.0d0))) - 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.exp(((y * Math.log(z)) - b))) / y;
                                              	double tmp;
                                              	if (y <= -6e+26) {
                                              		tmp = t_1;
                                              	} else if (y <= 1.32e+63) {
                                              		tmp = (x * Math.exp(((Math.log(a) * (t + -1.0)) - b))) / y;
                                              	} else {
                                              		tmp = t_1;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              def code(x, y, z, t, a, b):
                                              	t_1 = (x * math.exp(((y * math.log(z)) - b))) / y
                                              	tmp = 0
                                              	if y <= -6e+26:
                                              		tmp = t_1
                                              	elif y <= 1.32e+63:
                                              		tmp = (x * math.exp(((math.log(a) * (t + -1.0)) - b))) / y
                                              	else:
                                              		tmp = t_1
                                              	return tmp
                                              
                                              function code(x, y, z, t, a, b)
                                              	t_1 = Float64(Float64(x * exp(Float64(Float64(y * log(z)) - b))) / y)
                                              	tmp = 0.0
                                              	if (y <= -6e+26)
                                              		tmp = t_1;
                                              	elseif (y <= 1.32e+63)
                                              		tmp = Float64(Float64(x * exp(Float64(Float64(log(a) * Float64(t + -1.0)) - b))) / y);
                                              	else
                                              		tmp = t_1;
                                              	end
                                              	return tmp
                                              end
                                              
                                              function tmp_2 = code(x, y, z, t, a, b)
                                              	t_1 = (x * exp(((y * log(z)) - b))) / y;
                                              	tmp = 0.0;
                                              	if (y <= -6e+26)
                                              		tmp = t_1;
                                              	elseif (y <= 1.32e+63)
                                              		tmp = (x * exp(((log(a) * (t + -1.0)) - b))) / y;
                                              	else
                                              		tmp = t_1;
                                              	end
                                              	tmp_2 = tmp;
                                              end
                                              
                                              code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Exp[N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -6e+26], t$95$1, If[LessEqual[y, 1.32e+63], N[(N[(x * N[Exp[N[(N[(N[Log[a], $MachinePrecision] * N[(t + -1.0), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], t$95$1]]]
                                              
                                              \begin{array}{l}
                                              
                                              \\
                                              \begin{array}{l}
                                              t_1 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\
                                              \mathbf{if}\;y \leq -6 \cdot 10^{+26}:\\
                                              \;\;\;\;t\_1\\
                                              
                                              \mathbf{elif}\;y \leq 1.32 \cdot 10^{+63}:\\
                                              \;\;\;\;\frac{x \cdot e^{\log a \cdot \left(t + -1\right) - b}}{y}\\
                                              
                                              \mathbf{else}:\\
                                              \;\;\;\;t\_1\\
                                              
                                              
                                              \end{array}
                                              \end{array}
                                              
                                              Derivation
                                              1. Split input into 2 regimes
                                              2. if y < -5.99999999999999994e26 or 1.32e63 < 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 \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                                4. Step-by-step derivation
                                                  1. lower-*.f64N/A

                                                    \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                                  2. lower-log.f6495.4

                                                    \[\leadsto \frac{x \cdot e^{y \cdot \color{blue}{\log z} - b}}{y} \]
                                                5. Applied rewrites95.4%

                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]

                                                if -5.99999999999999994e26 < y < 1.32e63

                                                1. Initial program 97.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 \frac{x \cdot e^{\color{blue}{\log a \cdot \left(t - 1\right)} - b}}{y} \]
                                                4. Step-by-step derivation
                                                  1. lower-*.f64N/A

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

                                                    \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                  3. lower-log.f64N/A

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

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

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

                                                    \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                  7. lower-+.f6496.2

                                                    \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                5. Applied rewrites96.2%

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

                                              Alternative 7: 85.3% accurate, 1.4× speedup?

                                              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\ \mathbf{if}\;y \leq -3.5 \cdot 10^{-5}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\ \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y \cdot e^{b}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                              (FPCore (x y z t a b)
                                               :precision binary64
                                               (let* ((t_1 (/ (* x (exp (- (* y (log z)) b))) y)))
                                                 (if (<= y -3.5e-5)
                                                   t_1
                                                   (if (<= y 4.8e-11) (/ (* x (pow a (+ t -1.0))) (* y (exp b))) t_1))))
                                              double code(double x, double y, double z, double t, double a, double b) {
                                              	double t_1 = (x * exp(((y * log(z)) - b))) / y;
                                              	double tmp;
                                              	if (y <= -3.5e-5) {
                                              		tmp = t_1;
                                              	} else if (y <= 4.8e-11) {
                                              		tmp = (x * pow(a, (t + -1.0))) / (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 * exp(((y * log(z)) - b))) / y
                                                  if (y <= (-3.5d-5)) then
                                                      tmp = t_1
                                                  else if (y <= 4.8d-11) then
                                                      tmp = (x * (a ** (t + (-1.0d0)))) / (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.exp(((y * Math.log(z)) - b))) / y;
                                              	double tmp;
                                              	if (y <= -3.5e-5) {
                                              		tmp = t_1;
                                              	} else if (y <= 4.8e-11) {
                                              		tmp = (x * Math.pow(a, (t + -1.0))) / (y * Math.exp(b));
                                              	} else {
                                              		tmp = t_1;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              def code(x, y, z, t, a, b):
                                              	t_1 = (x * math.exp(((y * math.log(z)) - b))) / y
                                              	tmp = 0
                                              	if y <= -3.5e-5:
                                              		tmp = t_1
                                              	elif y <= 4.8e-11:
                                              		tmp = (x * math.pow(a, (t + -1.0))) / (y * math.exp(b))
                                              	else:
                                              		tmp = t_1
                                              	return tmp
                                              
                                              function code(x, y, z, t, a, b)
                                              	t_1 = Float64(Float64(x * exp(Float64(Float64(y * log(z)) - b))) / y)
                                              	tmp = 0.0
                                              	if (y <= -3.5e-5)
                                              		tmp = t_1;
                                              	elseif (y <= 4.8e-11)
                                              		tmp = Float64(Float64(x * (a ^ Float64(t + -1.0))) / 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 * exp(((y * log(z)) - b))) / y;
                                              	tmp = 0.0;
                                              	if (y <= -3.5e-5)
                                              		tmp = t_1;
                                              	elseif (y <= 4.8e-11)
                                              		tmp = (x * (a ^ (t + -1.0))) / (y * exp(b));
                                              	else
                                              		tmp = t_1;
                                              	end
                                              	tmp_2 = tmp;
                                              end
                                              
                                              code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Exp[N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -3.5e-5], t$95$1, If[LessEqual[y, 4.8e-11], N[(N[(x * N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
                                              
                                              \begin{array}{l}
                                              
                                              \\
                                              \begin{array}{l}
                                              t_1 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\
                                              \mathbf{if}\;y \leq -3.5 \cdot 10^{-5}:\\
                                              \;\;\;\;t\_1\\
                                              
                                              \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\
                                              \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y \cdot e^{b}}\\
                                              
                                              \mathbf{else}:\\
                                              \;\;\;\;t\_1\\
                                              
                                              
                                              \end{array}
                                              \end{array}
                                              
                                              Derivation
                                              1. Split input into 2 regimes
                                              2. if y < -3.4999999999999997e-5 or 4.8000000000000002e-11 < 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 \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                                4. Step-by-step derivation
                                                  1. lower-*.f64N/A

                                                    \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                                  2. lower-log.f6493.3

                                                    \[\leadsto \frac{x \cdot e^{y \cdot \color{blue}{\log z} - b}}{y} \]
                                                5. Applied rewrites93.3%

                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]

                                                if -3.4999999999999997e-5 < y < 4.8000000000000002e-11

                                                1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                    \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                  8. lower-pow.f64N/A

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

                                                    \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                  10. sub-negN/A

                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                  11. metadata-evalN/A

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

                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                  13. lower-*.f64N/A

                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                  14. lower-exp.f6490.7

                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                5. Applied rewrites90.7%

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

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

                                              Alternative 8: 79.5% accurate, 1.4× speedup?

                                              \[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\ \mathbf{if}\;y \leq -1.1 \cdot 10^{+22}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\ \;\;\;\;\frac{\frac{x}{y \cdot e^{b}}}{a}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                              (FPCore (x y z t a b)
                                               :precision binary64
                                               (let* ((t_1 (/ (* x (exp (- (* y (log z)) b))) y)))
                                                 (if (<= y -1.1e+22) t_1 (if (<= y 4.8e-11) (/ (/ x (* y (exp b))) a) t_1))))
                                              double code(double x, double y, double z, double t, double a, double b) {
                                              	double t_1 = (x * exp(((y * log(z)) - b))) / y;
                                              	double tmp;
                                              	if (y <= -1.1e+22) {
                                              		tmp = t_1;
                                              	} else if (y <= 4.8e-11) {
                                              		tmp = (x / (y * exp(b))) / a;
                                              	} 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 * exp(((y * log(z)) - b))) / y
                                                  if (y <= (-1.1d+22)) then
                                                      tmp = t_1
                                                  else if (y <= 4.8d-11) then
                                                      tmp = (x / (y * exp(b))) / a
                                                  else
                                                      tmp = t_1
                                                  end if
                                                  code = tmp
                                              end function
                                              
                                              public static double code(double x, double y, double z, double t, double a, double b) {
                                              	double t_1 = (x * Math.exp(((y * Math.log(z)) - b))) / y;
                                              	double tmp;
                                              	if (y <= -1.1e+22) {
                                              		tmp = t_1;
                                              	} else if (y <= 4.8e-11) {
                                              		tmp = (x / (y * Math.exp(b))) / a;
                                              	} else {
                                              		tmp = t_1;
                                              	}
                                              	return tmp;
                                              }
                                              
                                              def code(x, y, z, t, a, b):
                                              	t_1 = (x * math.exp(((y * math.log(z)) - b))) / y
                                              	tmp = 0
                                              	if y <= -1.1e+22:
                                              		tmp = t_1
                                              	elif y <= 4.8e-11:
                                              		tmp = (x / (y * math.exp(b))) / a
                                              	else:
                                              		tmp = t_1
                                              	return tmp
                                              
                                              function code(x, y, z, t, a, b)
                                              	t_1 = Float64(Float64(x * exp(Float64(Float64(y * log(z)) - b))) / y)
                                              	tmp = 0.0
                                              	if (y <= -1.1e+22)
                                              		tmp = t_1;
                                              	elseif (y <= 4.8e-11)
                                              		tmp = Float64(Float64(x / Float64(y * exp(b))) / a);
                                              	else
                                              		tmp = t_1;
                                              	end
                                              	return tmp
                                              end
                                              
                                              function tmp_2 = code(x, y, z, t, a, b)
                                              	t_1 = (x * exp(((y * log(z)) - b))) / y;
                                              	tmp = 0.0;
                                              	if (y <= -1.1e+22)
                                              		tmp = t_1;
                                              	elseif (y <= 4.8e-11)
                                              		tmp = (x / (y * exp(b))) / a;
                                              	else
                                              		tmp = t_1;
                                              	end
                                              	tmp_2 = tmp;
                                              end
                                              
                                              code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * N[Exp[N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, If[LessEqual[y, -1.1e+22], t$95$1, If[LessEqual[y, 4.8e-11], N[(N[(x / N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], t$95$1]]]
                                              
                                              \begin{array}{l}
                                              
                                              \\
                                              \begin{array}{l}
                                              t_1 := \frac{x \cdot e^{y \cdot \log z - b}}{y}\\
                                              \mathbf{if}\;y \leq -1.1 \cdot 10^{+22}:\\
                                              \;\;\;\;t\_1\\
                                              
                                              \mathbf{elif}\;y \leq 4.8 \cdot 10^{-11}:\\
                                              \;\;\;\;\frac{\frac{x}{y \cdot e^{b}}}{a}\\
                                              
                                              \mathbf{else}:\\
                                              \;\;\;\;t\_1\\
                                              
                                              
                                              \end{array}
                                              \end{array}
                                              
                                              Derivation
                                              1. Split input into 2 regimes
                                              2. if y < -1.1e22 or 4.8000000000000002e-11 < 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 \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                                4. Step-by-step derivation
                                                  1. lower-*.f64N/A

                                                    \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
                                                  2. lower-log.f6493.8

                                                    \[\leadsto \frac{x \cdot e^{y \cdot \color{blue}{\log z} - b}}{y} \]
                                                5. Applied rewrites93.8%

                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]

                                                if -1.1e22 < y < 4.8000000000000002e-11

                                                1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                    \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                  8. lower-pow.f64N/A

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

                                                    \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                  10. sub-negN/A

                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                  11. metadata-evalN/A

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

                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                  13. lower-*.f64N/A

                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                  14. lower-exp.f6489.5

                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                5. Applied rewrites89.5%

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

                                                  \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                7. Step-by-step derivation
                                                  1. Applied rewrites77.4%

                                                    \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                                  2. Step-by-step derivation
                                                    1. Applied rewrites79.0%

                                                      \[\leadsto \frac{\frac{x}{y \cdot e^{b}}}{a} \]
                                                  3. Recombined 2 regimes into one program.
                                                  4. Add Preprocessing

                                                  Alternative 9: 74.5% accurate, 2.4× speedup?

                                                  \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{\frac{{z}^{y}}{y}}{a}\\ \mathbf{if}\;y \leq -8.2 \cdot 10^{+26}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 1.65 \cdot 10^{+33}:\\ \;\;\;\;\frac{\frac{x}{y \cdot e^{b}}}{a}\\ \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) a))))
                                                     (if (<= y -8.2e+26)
                                                       t_1
                                                       (if (<= y 1.65e+33) (/ (/ x (* y (exp b))) a) t_1))))
                                                  double code(double x, double y, double z, double t, double a, double b) {
                                                  	double t_1 = x * ((pow(z, y) / y) / a);
                                                  	double tmp;
                                                  	if (y <= -8.2e+26) {
                                                  		tmp = t_1;
                                                  	} else if (y <= 1.65e+33) {
                                                  		tmp = (x / (y * exp(b))) / a;
                                                  	} 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) / a)
                                                      if (y <= (-8.2d+26)) then
                                                          tmp = t_1
                                                      else if (y <= 1.65d+33) then
                                                          tmp = (x / (y * exp(b))) / a
                                                      else
                                                          tmp = t_1
                                                      end if
                                                      code = tmp
                                                  end function
                                                  
                                                  public static double code(double x, double y, double z, double t, double a, double b) {
                                                  	double t_1 = x * ((Math.pow(z, y) / y) / a);
                                                  	double tmp;
                                                  	if (y <= -8.2e+26) {
                                                  		tmp = t_1;
                                                  	} else if (y <= 1.65e+33) {
                                                  		tmp = (x / (y * Math.exp(b))) / a;
                                                  	} else {
                                                  		tmp = t_1;
                                                  	}
                                                  	return tmp;
                                                  }
                                                  
                                                  def code(x, y, z, t, a, b):
                                                  	t_1 = x * ((math.pow(z, y) / y) / a)
                                                  	tmp = 0
                                                  	if y <= -8.2e+26:
                                                  		tmp = t_1
                                                  	elif y <= 1.65e+33:
                                                  		tmp = (x / (y * math.exp(b))) / a
                                                  	else:
                                                  		tmp = t_1
                                                  	return tmp
                                                  
                                                  function code(x, y, z, t, a, b)
                                                  	t_1 = Float64(x * Float64(Float64((z ^ y) / y) / a))
                                                  	tmp = 0.0
                                                  	if (y <= -8.2e+26)
                                                  		tmp = t_1;
                                                  	elseif (y <= 1.65e+33)
                                                  		tmp = Float64(Float64(x / Float64(y * exp(b))) / a);
                                                  	else
                                                  		tmp = t_1;
                                                  	end
                                                  	return tmp
                                                  end
                                                  
                                                  function tmp_2 = code(x, y, z, t, a, b)
                                                  	t_1 = x * (((z ^ y) / y) / a);
                                                  	tmp = 0.0;
                                                  	if (y <= -8.2e+26)
                                                  		tmp = t_1;
                                                  	elseif (y <= 1.65e+33)
                                                  		tmp = (x / (y * exp(b))) / a;
                                                  	else
                                                  		tmp = t_1;
                                                  	end
                                                  	tmp_2 = tmp;
                                                  end
                                                  
                                                  code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.2e+26], t$95$1, If[LessEqual[y, 1.65e+33], N[(N[(x / N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], t$95$1]]]
                                                  
                                                  \begin{array}{l}
                                                  
                                                  \\
                                                  \begin{array}{l}
                                                  t_1 := x \cdot \frac{\frac{{z}^{y}}{y}}{a}\\
                                                  \mathbf{if}\;y \leq -8.2 \cdot 10^{+26}:\\
                                                  \;\;\;\;t\_1\\
                                                  
                                                  \mathbf{elif}\;y \leq 1.65 \cdot 10^{+33}:\\
                                                  \;\;\;\;\frac{\frac{x}{y \cdot e^{b}}}{a}\\
                                                  
                                                  \mathbf{else}:\\
                                                  \;\;\;\;t\_1\\
                                                  
                                                  
                                                  \end{array}
                                                  \end{array}
                                                  
                                                  Derivation
                                                  1. Split input into 2 regimes
                                                  2. if y < -8.19999999999999967e26 or 1.64999999999999988e33 < 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 t around 0

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

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

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

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

                                                        \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                      5. lower-/.f64N/A

                                                        \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                      6. +-commutativeN/A

                                                        \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                                      7. mul-1-negN/A

                                                        \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                                      8. unsub-negN/A

                                                        \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                                      9. exp-diffN/A

                                                        \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                                      10. lower-/.f64N/A

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

                                                        \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                      12. exp-to-powN/A

                                                        \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                      13. lower-pow.f64N/A

                                                        \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                      14. rem-exp-logN/A

                                                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                                      15. lower-*.f64N/A

                                                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                                      16. lower-exp.f6466.7

                                                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                                                    5. Applied rewrites66.7%

                                                      \[\leadsto \color{blue}{x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot e^{b}}} \]
                                                    6. Step-by-step derivation
                                                      1. Applied rewrites66.7%

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

                                                        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{y}}{a} \]
                                                      3. Step-by-step derivation
                                                        1. Applied rewrites84.0%

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

                                                        if -8.19999999999999967e26 < y < 1.64999999999999988e33

                                                        1. Initial program 97.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                        4. Step-by-step derivation
                                                          1. *-commutativeN/A

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

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

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

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

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

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

                                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                          8. lower-pow.f64N/A

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

                                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                          10. sub-negN/A

                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                          11. metadata-evalN/A

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

                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                          13. lower-*.f64N/A

                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                          14. lower-exp.f6489.0

                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                        5. Applied rewrites89.0%

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

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

                                                            \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                                          2. Step-by-step derivation
                                                            1. Applied rewrites78.6%

                                                              \[\leadsto \frac{\frac{x}{y \cdot e^{b}}}{a} \]
                                                          3. Recombined 2 regimes into one program.
                                                          4. Add Preprocessing

                                                          Alternative 10: 72.9% accurate, 2.5× speedup?

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

                                                            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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                            4. Step-by-step derivation
                                                              1. *-commutativeN/A

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

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

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

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

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

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

                                                                \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                              8. lower-pow.f64N/A

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

                                                                \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                              10. sub-negN/A

                                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                              11. metadata-evalN/A

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

                                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                              13. lower-*.f64N/A

                                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                              14. lower-exp.f6473.3

                                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                            5. Applied rewrites73.3%

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

                                                              \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                            7. Step-by-step derivation
                                                              1. Applied rewrites84.2%

                                                                \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                                              2. Step-by-step derivation
                                                                1. Applied rewrites87.7%

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

                                                                if -4.6000000000000001e-67 < b < 9.00000000000000026e-19

                                                                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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                4. Step-by-step derivation
                                                                  1. *-commutativeN/A

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

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

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

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

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

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

                                                                    \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                  8. lower-pow.f64N/A

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

                                                                    \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                  10. sub-negN/A

                                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                  11. metadata-evalN/A

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

                                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                  13. lower-*.f64N/A

                                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                  14. lower-exp.f6469.7

                                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                5. Applied rewrites69.7%

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

                                                                  \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                7. Step-by-step derivation
                                                                  1. Applied rewrites37.9%

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

                                                                    \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                  3. Step-by-step derivation
                                                                    1. Applied rewrites69.7%

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

                                                                    if 9.00000000000000026e-19 < b

                                                                    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 y around 0

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

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

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

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

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

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

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

                                                                        \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                      8. lower-pow.f64N/A

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

                                                                        \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                      10. sub-negN/A

                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                      11. metadata-evalN/A

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

                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                      13. lower-*.f64N/A

                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                      14. lower-exp.f6460.2

                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                    5. Applied rewrites60.2%

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

                                                                      \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                    7. Step-by-step derivation
                                                                      1. Applied rewrites75.4%

                                                                        \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                                                      2. Step-by-step derivation
                                                                        1. Applied rewrites75.4%

                                                                          \[\leadsto \frac{x}{\left(y \cdot e^{b}\right) \cdot a} \]
                                                                      3. Recombined 3 regimes into one program.
                                                                      4. Final simplification77.0%

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

                                                                      Alternative 11: 74.4% accurate, 2.5× speedup?

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

                                                                        1. Initial program 99.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                        4. Step-by-step derivation
                                                                          1. *-commutativeN/A

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

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

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

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

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

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

                                                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                          8. lower-pow.f64N/A

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

                                                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                          10. sub-negN/A

                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                          11. metadata-evalN/A

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

                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                          13. lower-*.f64N/A

                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                          14. lower-exp.f6472.1

                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                        5. Applied rewrites72.1%

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

                                                                          \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                        7. Step-by-step derivation
                                                                          1. Applied rewrites88.4%

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

                                                                          if -1.5e-15 < b < 9.00000000000000026e-19

                                                                          1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                                              \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                            8. lower-pow.f64N/A

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

                                                                              \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                            10. sub-negN/A

                                                                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                            11. metadata-evalN/A

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

                                                                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                            13. lower-*.f64N/A

                                                                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                            14. lower-exp.f6470.8

                                                                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                          5. Applied rewrites70.8%

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

                                                                            \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                          7. Step-by-step derivation
                                                                            1. Applied rewrites40.2%

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

                                                                              \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                            3. Step-by-step derivation
                                                                              1. Applied rewrites70.8%

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

                                                                              if 9.00000000000000026e-19 < b

                                                                              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 y around 0

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

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

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

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

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

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

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

                                                                                  \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                8. lower-pow.f64N/A

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

                                                                                  \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                10. sub-negN/A

                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                11. metadata-evalN/A

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

                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                13. lower-*.f64N/A

                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                14. lower-exp.f6460.2

                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                              5. Applied rewrites60.2%

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

                                                                                \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                              7. Step-by-step derivation
                                                                                1. Applied rewrites75.4%

                                                                                  \[\leadsto \frac{x}{\color{blue}{y \cdot \left(a \cdot e^{b}\right)}} \]
                                                                                2. Step-by-step derivation
                                                                                  1. Applied rewrites75.4%

                                                                                    \[\leadsto \frac{x}{\left(y \cdot e^{b}\right) \cdot a} \]
                                                                                3. Recombined 3 regimes into one program.
                                                                                4. Final simplification76.8%

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

                                                                                Alternative 12: 74.4% accurate, 2.5× speedup?

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

                                                                                  1. Initial program 99.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                  4. Step-by-step derivation
                                                                                    1. *-commutativeN/A

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

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

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

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

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

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

                                                                                      \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                    8. lower-pow.f64N/A

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

                                                                                      \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                    10. sub-negN/A

                                                                                      \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                    11. metadata-evalN/A

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

                                                                                      \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                    13. lower-*.f64N/A

                                                                                      \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                    14. lower-exp.f6465.9

                                                                                      \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                  5. Applied rewrites65.9%

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

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

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

                                                                                    if -1.5e-15 < b < 9.00000000000000026e-19

                                                                                    1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                                                        \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                      8. lower-pow.f64N/A

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

                                                                                        \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                      10. sub-negN/A

                                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                      11. metadata-evalN/A

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

                                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                      13. lower-*.f64N/A

                                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                      14. lower-exp.f6470.8

                                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                    5. Applied rewrites70.8%

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

                                                                                      \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                    7. Step-by-step derivation
                                                                                      1. Applied rewrites40.2%

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

                                                                                        \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                                      3. Step-by-step derivation
                                                                                        1. Applied rewrites70.8%

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

                                                                                        \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -1.5 \cdot 10^{-15}:\\ \;\;\;\;\frac{x}{y \cdot \left(a \cdot e^{b}\right)}\\ \mathbf{elif}\;b \leq 9 \cdot 10^{-19}:\\ \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \left(a \cdot e^{b}\right)}\\ \end{array} \]
                                                                                      6. Add Preprocessing

                                                                                      Alternative 13: 75.1% accurate, 2.5× speedup?

                                                                                      \[\begin{array}{l} \\ \begin{array}{l} t_1 := e^{-b}\\ \mathbf{if}\;b \leq -5800000000:\\ \;\;\;\;x \cdot \frac{t\_1}{y}\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot t\_1}{y}\\ \end{array} \end{array} \]
                                                                                      (FPCore (x y z t a b)
                                                                                       :precision binary64
                                                                                       (let* ((t_1 (exp (- b))))
                                                                                         (if (<= b -5800000000.0)
                                                                                           (* x (/ t_1 y))
                                                                                           (if (<= b 0.78) (/ (* x (pow a (+ t -1.0))) y) (/ (* x t_1) y)))))
                                                                                      double code(double x, double y, double z, double t, double a, double b) {
                                                                                      	double t_1 = exp(-b);
                                                                                      	double tmp;
                                                                                      	if (b <= -5800000000.0) {
                                                                                      		tmp = x * (t_1 / y);
                                                                                      	} else if (b <= 0.78) {
                                                                                      		tmp = (x * pow(a, (t + -1.0))) / y;
                                                                                      	} else {
                                                                                      		tmp = (x * t_1) / 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 = exp(-b)
                                                                                          if (b <= (-5800000000.0d0)) then
                                                                                              tmp = x * (t_1 / y)
                                                                                          else if (b <= 0.78d0) then
                                                                                              tmp = (x * (a ** (t + (-1.0d0)))) / y
                                                                                          else
                                                                                              tmp = (x * t_1) / 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 = Math.exp(-b);
                                                                                      	double tmp;
                                                                                      	if (b <= -5800000000.0) {
                                                                                      		tmp = x * (t_1 / y);
                                                                                      	} else if (b <= 0.78) {
                                                                                      		tmp = (x * Math.pow(a, (t + -1.0))) / y;
                                                                                      	} else {
                                                                                      		tmp = (x * t_1) / y;
                                                                                      	}
                                                                                      	return tmp;
                                                                                      }
                                                                                      
                                                                                      def code(x, y, z, t, a, b):
                                                                                      	t_1 = math.exp(-b)
                                                                                      	tmp = 0
                                                                                      	if b <= -5800000000.0:
                                                                                      		tmp = x * (t_1 / y)
                                                                                      	elif b <= 0.78:
                                                                                      		tmp = (x * math.pow(a, (t + -1.0))) / y
                                                                                      	else:
                                                                                      		tmp = (x * t_1) / y
                                                                                      	return tmp
                                                                                      
                                                                                      function code(x, y, z, t, a, b)
                                                                                      	t_1 = exp(Float64(-b))
                                                                                      	tmp = 0.0
                                                                                      	if (b <= -5800000000.0)
                                                                                      		tmp = Float64(x * Float64(t_1 / y));
                                                                                      	elseif (b <= 0.78)
                                                                                      		tmp = Float64(Float64(x * (a ^ Float64(t + -1.0))) / y);
                                                                                      	else
                                                                                      		tmp = Float64(Float64(x * t_1) / y);
                                                                                      	end
                                                                                      	return tmp
                                                                                      end
                                                                                      
                                                                                      function tmp_2 = code(x, y, z, t, a, b)
                                                                                      	t_1 = exp(-b);
                                                                                      	tmp = 0.0;
                                                                                      	if (b <= -5800000000.0)
                                                                                      		tmp = x * (t_1 / y);
                                                                                      	elseif (b <= 0.78)
                                                                                      		tmp = (x * (a ^ (t + -1.0))) / y;
                                                                                      	else
                                                                                      		tmp = (x * t_1) / y;
                                                                                      	end
                                                                                      	tmp_2 = tmp;
                                                                                      end
                                                                                      
                                                                                      code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Exp[(-b)], $MachinePrecision]}, If[LessEqual[b, -5800000000.0], N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 0.78], N[(N[(x * N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x * t$95$1), $MachinePrecision] / y), $MachinePrecision]]]]
                                                                                      
                                                                                      \begin{array}{l}
                                                                                      
                                                                                      \\
                                                                                      \begin{array}{l}
                                                                                      t_1 := e^{-b}\\
                                                                                      \mathbf{if}\;b \leq -5800000000:\\
                                                                                      \;\;\;\;x \cdot \frac{t\_1}{y}\\
                                                                                      
                                                                                      \mathbf{elif}\;b \leq 0.78:\\
                                                                                      \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\
                                                                                      
                                                                                      \mathbf{else}:\\
                                                                                      \;\;\;\;\frac{x \cdot t\_1}{y}\\
                                                                                      
                                                                                      
                                                                                      \end{array}
                                                                                      \end{array}
                                                                                      
                                                                                      Derivation
                                                                                      1. Split input into 3 regimes
                                                                                      2. if b < -5.8e9

                                                                                        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 0

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

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

                                                                                            \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                          3. lower-log.f64N/A

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

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

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

                                                                                            \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                          7. lower-+.f6493.8

                                                                                            \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                        5. Applied rewrites93.8%

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

                                                                                          \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                        7. Step-by-step derivation
                                                                                          1. neg-mul-1N/A

                                                                                            \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                          2. lower-neg.f6487.7

                                                                                            \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                        8. Applied rewrites87.7%

                                                                                          \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                        9. Step-by-step derivation
                                                                                          1. lift-/.f64N/A

                                                                                            \[\leadsto \color{blue}{\frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y}} \]
                                                                                          2. lift-*.f64N/A

                                                                                            \[\leadsto \frac{\color{blue}{x \cdot e^{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                          3. associate-/l*N/A

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

                                                                                            \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                          5. lower-*.f64N/A

                                                                                            \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                          6. lower-/.f6487.7

                                                                                            \[\leadsto \color{blue}{\frac{e^{-b}}{y}} \cdot x \]
                                                                                        10. Applied rewrites87.7%

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

                                                                                        if -5.8e9 < b < 0.78000000000000003

                                                                                        1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                          8. lower-pow.f64N/A

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

                                                                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                          10. sub-negN/A

                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                          11. metadata-evalN/A

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

                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                          13. lower-*.f64N/A

                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                          14. lower-exp.f6472.5

                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                        5. Applied rewrites72.5%

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

                                                                                          \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                        7. Step-by-step derivation
                                                                                          1. Applied rewrites43.9%

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

                                                                                            \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                                          3. Step-by-step derivation
                                                                                            1. Applied rewrites72.2%

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

                                                                                            if 0.78000000000000003 < 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 y around 0

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

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

                                                                                                \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                              3. lower-log.f64N/A

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

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

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

                                                                                                \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                              7. lower-+.f6480.0

                                                                                                \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                            5. Applied rewrites80.0%

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

                                                                                              \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                            7. Step-by-step derivation
                                                                                              1. neg-mul-1N/A

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                              2. lower-neg.f6474.4

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                            8. Applied rewrites74.4%

                                                                                              \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                          4. Recombined 3 regimes into one program.
                                                                                          5. Final simplification76.6%

                                                                                            \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -5800000000:\\ \;\;\;\;x \cdot \frac{e^{-b}}{y}\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot e^{-b}}{y}\\ \end{array} \]
                                                                                          6. Add Preprocessing

                                                                                          Alternative 14: 72.8% accurate, 2.5× speedup?

                                                                                          \[\begin{array}{l} \\ \begin{array}{l} t_1 := e^{-b}\\ \mathbf{if}\;b \leq -160000000:\\ \;\;\;\;x \cdot \frac{t\_1}{y}\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;{a}^{\left(t + -1\right)} \cdot \frac{x}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot t\_1}{y}\\ \end{array} \end{array} \]
                                                                                          (FPCore (x y z t a b)
                                                                                           :precision binary64
                                                                                           (let* ((t_1 (exp (- b))))
                                                                                             (if (<= b -160000000.0)
                                                                                               (* x (/ t_1 y))
                                                                                               (if (<= b 0.78) (* (pow a (+ t -1.0)) (/ x y)) (/ (* x t_1) y)))))
                                                                                          double code(double x, double y, double z, double t, double a, double b) {
                                                                                          	double t_1 = exp(-b);
                                                                                          	double tmp;
                                                                                          	if (b <= -160000000.0) {
                                                                                          		tmp = x * (t_1 / y);
                                                                                          	} else if (b <= 0.78) {
                                                                                          		tmp = pow(a, (t + -1.0)) * (x / y);
                                                                                          	} else {
                                                                                          		tmp = (x * t_1) / 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 = exp(-b)
                                                                                              if (b <= (-160000000.0d0)) then
                                                                                                  tmp = x * (t_1 / y)
                                                                                              else if (b <= 0.78d0) then
                                                                                                  tmp = (a ** (t + (-1.0d0))) * (x / y)
                                                                                              else
                                                                                                  tmp = (x * t_1) / 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 = Math.exp(-b);
                                                                                          	double tmp;
                                                                                          	if (b <= -160000000.0) {
                                                                                          		tmp = x * (t_1 / y);
                                                                                          	} else if (b <= 0.78) {
                                                                                          		tmp = Math.pow(a, (t + -1.0)) * (x / y);
                                                                                          	} else {
                                                                                          		tmp = (x * t_1) / y;
                                                                                          	}
                                                                                          	return tmp;
                                                                                          }
                                                                                          
                                                                                          def code(x, y, z, t, a, b):
                                                                                          	t_1 = math.exp(-b)
                                                                                          	tmp = 0
                                                                                          	if b <= -160000000.0:
                                                                                          		tmp = x * (t_1 / y)
                                                                                          	elif b <= 0.78:
                                                                                          		tmp = math.pow(a, (t + -1.0)) * (x / y)
                                                                                          	else:
                                                                                          		tmp = (x * t_1) / y
                                                                                          	return tmp
                                                                                          
                                                                                          function code(x, y, z, t, a, b)
                                                                                          	t_1 = exp(Float64(-b))
                                                                                          	tmp = 0.0
                                                                                          	if (b <= -160000000.0)
                                                                                          		tmp = Float64(x * Float64(t_1 / y));
                                                                                          	elseif (b <= 0.78)
                                                                                          		tmp = Float64((a ^ Float64(t + -1.0)) * Float64(x / y));
                                                                                          	else
                                                                                          		tmp = Float64(Float64(x * t_1) / y);
                                                                                          	end
                                                                                          	return tmp
                                                                                          end
                                                                                          
                                                                                          function tmp_2 = code(x, y, z, t, a, b)
                                                                                          	t_1 = exp(-b);
                                                                                          	tmp = 0.0;
                                                                                          	if (b <= -160000000.0)
                                                                                          		tmp = x * (t_1 / y);
                                                                                          	elseif (b <= 0.78)
                                                                                          		tmp = (a ^ (t + -1.0)) * (x / y);
                                                                                          	else
                                                                                          		tmp = (x * t_1) / y;
                                                                                          	end
                                                                                          	tmp_2 = tmp;
                                                                                          end
                                                                                          
                                                                                          code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Exp[(-b)], $MachinePrecision]}, If[LessEqual[b, -160000000.0], N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 0.78], N[(N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision] * N[(x / y), $MachinePrecision]), $MachinePrecision], N[(N[(x * t$95$1), $MachinePrecision] / y), $MachinePrecision]]]]
                                                                                          
                                                                                          \begin{array}{l}
                                                                                          
                                                                                          \\
                                                                                          \begin{array}{l}
                                                                                          t_1 := e^{-b}\\
                                                                                          \mathbf{if}\;b \leq -160000000:\\
                                                                                          \;\;\;\;x \cdot \frac{t\_1}{y}\\
                                                                                          
                                                                                          \mathbf{elif}\;b \leq 0.78:\\
                                                                                          \;\;\;\;{a}^{\left(t + -1\right)} \cdot \frac{x}{y}\\
                                                                                          
                                                                                          \mathbf{else}:\\
                                                                                          \;\;\;\;\frac{x \cdot t\_1}{y}\\
                                                                                          
                                                                                          
                                                                                          \end{array}
                                                                                          \end{array}
                                                                                          
                                                                                          Derivation
                                                                                          1. Split input into 3 regimes
                                                                                          2. if b < -1.6e8

                                                                                            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 0

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

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

                                                                                                \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                              3. lower-log.f64N/A

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

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

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

                                                                                                \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                              7. lower-+.f6493.8

                                                                                                \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                            5. Applied rewrites93.8%

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

                                                                                              \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                            7. Step-by-step derivation
                                                                                              1. neg-mul-1N/A

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                              2. lower-neg.f6487.7

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                            8. Applied rewrites87.7%

                                                                                              \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                            9. Step-by-step derivation
                                                                                              1. lift-/.f64N/A

                                                                                                \[\leadsto \color{blue}{\frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y}} \]
                                                                                              2. lift-*.f64N/A

                                                                                                \[\leadsto \frac{\color{blue}{x \cdot e^{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                              3. associate-/l*N/A

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

                                                                                                \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                              5. lower-*.f64N/A

                                                                                                \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                              6. lower-/.f6487.7

                                                                                                \[\leadsto \color{blue}{\frac{e^{-b}}{y}} \cdot x \]
                                                                                            10. Applied rewrites87.7%

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

                                                                                            if -1.6e8 < b < 0.78000000000000003

                                                                                            1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                                                                \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                              8. lower-pow.f64N/A

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

                                                                                                \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                              10. sub-negN/A

                                                                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                              11. metadata-evalN/A

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

                                                                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                              13. lower-*.f64N/A

                                                                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                              14. lower-exp.f6472.5

                                                                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                            5. Applied rewrites72.5%

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

                                                                                              \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                                            7. Step-by-step derivation
                                                                                              1. Applied rewrites67.8%

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

                                                                                              if 0.78000000000000003 < 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 y around 0

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

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

                                                                                                  \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                                3. lower-log.f64N/A

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

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

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

                                                                                                  \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                                7. lower-+.f6480.0

                                                                                                  \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                              5. Applied rewrites80.0%

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

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                              7. Step-by-step derivation
                                                                                                1. neg-mul-1N/A

                                                                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                                2. lower-neg.f6474.4

                                                                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                              8. Applied rewrites74.4%

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                            8. Recombined 3 regimes into one program.
                                                                                            9. Final simplification74.6%

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

                                                                                            Alternative 15: 58.7% accurate, 2.6× speedup?

                                                                                            \[\begin{array}{l} \\ \begin{array}{l} t_1 := e^{-b}\\ \mathbf{if}\;b \leq -16000:\\ \;\;\;\;x \cdot \frac{t\_1}{y}\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot t\_1}{y}\\ \end{array} \end{array} \]
                                                                                            (FPCore (x y z t a b)
                                                                                             :precision binary64
                                                                                             (let* ((t_1 (exp (- b))))
                                                                                               (if (<= b -16000.0)
                                                                                                 (* x (/ t_1 y))
                                                                                                 (if (<= b 0.78) (/ (* (/ x y) (+ b -1.0)) (- a)) (/ (* x t_1) y)))))
                                                                                            double code(double x, double y, double z, double t, double a, double b) {
                                                                                            	double t_1 = exp(-b);
                                                                                            	double tmp;
                                                                                            	if (b <= -16000.0) {
                                                                                            		tmp = x * (t_1 / y);
                                                                                            	} else if (b <= 0.78) {
                                                                                            		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                            	} else {
                                                                                            		tmp = (x * t_1) / 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 = exp(-b)
                                                                                                if (b <= (-16000.0d0)) then
                                                                                                    tmp = x * (t_1 / y)
                                                                                                else if (b <= 0.78d0) then
                                                                                                    tmp = ((x / y) * (b + (-1.0d0))) / -a
                                                                                                else
                                                                                                    tmp = (x * t_1) / 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 = Math.exp(-b);
                                                                                            	double tmp;
                                                                                            	if (b <= -16000.0) {
                                                                                            		tmp = x * (t_1 / y);
                                                                                            	} else if (b <= 0.78) {
                                                                                            		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                            	} else {
                                                                                            		tmp = (x * t_1) / y;
                                                                                            	}
                                                                                            	return tmp;
                                                                                            }
                                                                                            
                                                                                            def code(x, y, z, t, a, b):
                                                                                            	t_1 = math.exp(-b)
                                                                                            	tmp = 0
                                                                                            	if b <= -16000.0:
                                                                                            		tmp = x * (t_1 / y)
                                                                                            	elif b <= 0.78:
                                                                                            		tmp = ((x / y) * (b + -1.0)) / -a
                                                                                            	else:
                                                                                            		tmp = (x * t_1) / y
                                                                                            	return tmp
                                                                                            
                                                                                            function code(x, y, z, t, a, b)
                                                                                            	t_1 = exp(Float64(-b))
                                                                                            	tmp = 0.0
                                                                                            	if (b <= -16000.0)
                                                                                            		tmp = Float64(x * Float64(t_1 / y));
                                                                                            	elseif (b <= 0.78)
                                                                                            		tmp = Float64(Float64(Float64(x / y) * Float64(b + -1.0)) / Float64(-a));
                                                                                            	else
                                                                                            		tmp = Float64(Float64(x * t_1) / y);
                                                                                            	end
                                                                                            	return tmp
                                                                                            end
                                                                                            
                                                                                            function tmp_2 = code(x, y, z, t, a, b)
                                                                                            	t_1 = exp(-b);
                                                                                            	tmp = 0.0;
                                                                                            	if (b <= -16000.0)
                                                                                            		tmp = x * (t_1 / y);
                                                                                            	elseif (b <= 0.78)
                                                                                            		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                            	else
                                                                                            		tmp = (x * t_1) / y;
                                                                                            	end
                                                                                            	tmp_2 = tmp;
                                                                                            end
                                                                                            
                                                                                            code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Exp[(-b)], $MachinePrecision]}, If[LessEqual[b, -16000.0], N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 0.78], N[(N[(N[(x / y), $MachinePrecision] * N[(b + -1.0), $MachinePrecision]), $MachinePrecision] / (-a)), $MachinePrecision], N[(N[(x * t$95$1), $MachinePrecision] / y), $MachinePrecision]]]]
                                                                                            
                                                                                            \begin{array}{l}
                                                                                            
                                                                                            \\
                                                                                            \begin{array}{l}
                                                                                            t_1 := e^{-b}\\
                                                                                            \mathbf{if}\;b \leq -16000:\\
                                                                                            \;\;\;\;x \cdot \frac{t\_1}{y}\\
                                                                                            
                                                                                            \mathbf{elif}\;b \leq 0.78:\\
                                                                                            \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\
                                                                                            
                                                                                            \mathbf{else}:\\
                                                                                            \;\;\;\;\frac{x \cdot t\_1}{y}\\
                                                                                            
                                                                                            
                                                                                            \end{array}
                                                                                            \end{array}
                                                                                            
                                                                                            Derivation
                                                                                            1. Split input into 3 regimes
                                                                                            2. if b < -16000

                                                                                              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 0

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

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

                                                                                                  \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                                3. lower-log.f64N/A

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

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

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

                                                                                                  \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                                7. lower-+.f6493.8

                                                                                                  \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                              5. Applied rewrites93.8%

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

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                              7. Step-by-step derivation
                                                                                                1. neg-mul-1N/A

                                                                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                                2. lower-neg.f6487.7

                                                                                                  \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                              8. Applied rewrites87.7%

                                                                                                \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                              9. Step-by-step derivation
                                                                                                1. lift-/.f64N/A

                                                                                                  \[\leadsto \color{blue}{\frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y}} \]
                                                                                                2. lift-*.f64N/A

                                                                                                  \[\leadsto \frac{\color{blue}{x \cdot e^{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                                3. associate-/l*N/A

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

                                                                                                  \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                                5. lower-*.f64N/A

                                                                                                  \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                                6. lower-/.f6487.7

                                                                                                  \[\leadsto \color{blue}{\frac{e^{-b}}{y}} \cdot x \]
                                                                                              10. Applied rewrites87.7%

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

                                                                                              if -16000 < b < 0.78000000000000003

                                                                                              1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                                                                  \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                8. lower-pow.f64N/A

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

                                                                                                  \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                10. sub-negN/A

                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                11. metadata-evalN/A

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

                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                13. lower-*.f64N/A

                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                14. lower-exp.f6472.5

                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                              5. Applied rewrites72.5%

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

                                                                                                \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                              7. Step-by-step derivation
                                                                                                1. Applied rewrites43.9%

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

                                                                                                  \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot y} + \frac{x}{\color{blue}{a \cdot y}} \]
                                                                                                3. Step-by-step derivation
                                                                                                  1. Applied rewrites38.1%

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

                                                                                                    \[\leadsto -1 \cdot \frac{-1 \cdot \frac{x}{y} + \frac{b \cdot x}{y}}{a} \]
                                                                                                  3. Step-by-step derivation
                                                                                                    1. Applied rewrites46.3%

                                                                                                      \[\leadsto \frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a} \]

                                                                                                    if 0.78000000000000003 < 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 y around 0

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

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

                                                                                                        \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                                      3. lower-log.f64N/A

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

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

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

                                                                                                        \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                                      7. lower-+.f6480.0

                                                                                                        \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                                    5. Applied rewrites80.0%

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

                                                                                                      \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                                    7. Step-by-step derivation
                                                                                                      1. neg-mul-1N/A

                                                                                                        \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                                      2. lower-neg.f6474.4

                                                                                                        \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                                    8. Applied rewrites74.4%

                                                                                                      \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                                  4. Recombined 3 regimes into one program.
                                                                                                  5. Final simplification64.2%

                                                                                                    \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -16000:\\ \;\;\;\;x \cdot \frac{e^{-b}}{y}\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot e^{-b}}{y}\\ \end{array} \]
                                                                                                  6. Add Preprocessing

                                                                                                  Alternative 16: 58.7% accurate, 2.6× speedup?

                                                                                                  \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{e^{-b}}{y}\\ \mathbf{if}\;b \leq -16000:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
                                                                                                  (FPCore (x y z t a b)
                                                                                                   :precision binary64
                                                                                                   (let* ((t_1 (* x (/ (exp (- b)) y))))
                                                                                                     (if (<= b -16000.0)
                                                                                                       t_1
                                                                                                       (if (<= b 0.78) (/ (* (/ x y) (+ b -1.0)) (- a)) t_1))))
                                                                                                  double code(double x, double y, double z, double t, double a, double b) {
                                                                                                  	double t_1 = x * (exp(-b) / y);
                                                                                                  	double tmp;
                                                                                                  	if (b <= -16000.0) {
                                                                                                  		tmp = t_1;
                                                                                                  	} else if (b <= 0.78) {
                                                                                                  		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                                  	} 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 * (exp(-b) / y)
                                                                                                      if (b <= (-16000.0d0)) then
                                                                                                          tmp = t_1
                                                                                                      else if (b <= 0.78d0) then
                                                                                                          tmp = ((x / y) * (b + (-1.0d0))) / -a
                                                                                                      else
                                                                                                          tmp = t_1
                                                                                                      end if
                                                                                                      code = tmp
                                                                                                  end function
                                                                                                  
                                                                                                  public static double code(double x, double y, double z, double t, double a, double b) {
                                                                                                  	double t_1 = x * (Math.exp(-b) / y);
                                                                                                  	double tmp;
                                                                                                  	if (b <= -16000.0) {
                                                                                                  		tmp = t_1;
                                                                                                  	} else if (b <= 0.78) {
                                                                                                  		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                                  	} else {
                                                                                                  		tmp = t_1;
                                                                                                  	}
                                                                                                  	return tmp;
                                                                                                  }
                                                                                                  
                                                                                                  def code(x, y, z, t, a, b):
                                                                                                  	t_1 = x * (math.exp(-b) / y)
                                                                                                  	tmp = 0
                                                                                                  	if b <= -16000.0:
                                                                                                  		tmp = t_1
                                                                                                  	elif b <= 0.78:
                                                                                                  		tmp = ((x / y) * (b + -1.0)) / -a
                                                                                                  	else:
                                                                                                  		tmp = t_1
                                                                                                  	return tmp
                                                                                                  
                                                                                                  function code(x, y, z, t, a, b)
                                                                                                  	t_1 = Float64(x * Float64(exp(Float64(-b)) / y))
                                                                                                  	tmp = 0.0
                                                                                                  	if (b <= -16000.0)
                                                                                                  		tmp = t_1;
                                                                                                  	elseif (b <= 0.78)
                                                                                                  		tmp = Float64(Float64(Float64(x / y) * Float64(b + -1.0)) / Float64(-a));
                                                                                                  	else
                                                                                                  		tmp = t_1;
                                                                                                  	end
                                                                                                  	return tmp
                                                                                                  end
                                                                                                  
                                                                                                  function tmp_2 = code(x, y, z, t, a, b)
                                                                                                  	t_1 = x * (exp(-b) / y);
                                                                                                  	tmp = 0.0;
                                                                                                  	if (b <= -16000.0)
                                                                                                  		tmp = t_1;
                                                                                                  	elseif (b <= 0.78)
                                                                                                  		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                                  	else
                                                                                                  		tmp = t_1;
                                                                                                  	end
                                                                                                  	tmp_2 = tmp;
                                                                                                  end
                                                                                                  
                                                                                                  code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Exp[(-b)], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -16000.0], t$95$1, If[LessEqual[b, 0.78], N[(N[(N[(x / y), $MachinePrecision] * N[(b + -1.0), $MachinePrecision]), $MachinePrecision] / (-a)), $MachinePrecision], t$95$1]]]
                                                                                                  
                                                                                                  \begin{array}{l}
                                                                                                  
                                                                                                  \\
                                                                                                  \begin{array}{l}
                                                                                                  t_1 := x \cdot \frac{e^{-b}}{y}\\
                                                                                                  \mathbf{if}\;b \leq -16000:\\
                                                                                                  \;\;\;\;t\_1\\
                                                                                                  
                                                                                                  \mathbf{elif}\;b \leq 0.78:\\
                                                                                                  \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\
                                                                                                  
                                                                                                  \mathbf{else}:\\
                                                                                                  \;\;\;\;t\_1\\
                                                                                                  
                                                                                                  
                                                                                                  \end{array}
                                                                                                  \end{array}
                                                                                                  
                                                                                                  Derivation
                                                                                                  1. Split input into 2 regimes
                                                                                                  2. if b < -16000 or 0.78000000000000003 < 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 y around 0

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

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

                                                                                                        \[\leadsto \frac{x \cdot e^{\log \color{blue}{\left(e^{\log a}\right)} \cdot \left(t - 1\right) - b}}{y} \]
                                                                                                      3. lower-log.f64N/A

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

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

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

                                                                                                        \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t + \color{blue}{-1}\right) - b}}{y} \]
                                                                                                      7. lower-+.f6486.7

                                                                                                        \[\leadsto \frac{x \cdot e^{\log a \cdot \color{blue}{\left(t + -1\right)} - b}}{y} \]
                                                                                                    5. Applied rewrites86.7%

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

                                                                                                      \[\leadsto \frac{x \cdot e^{\color{blue}{-1 \cdot b}}}{y} \]
                                                                                                    7. Step-by-step derivation
                                                                                                      1. neg-mul-1N/A

                                                                                                        \[\leadsto \frac{x \cdot e^{\color{blue}{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                                      2. lower-neg.f6480.8

                                                                                                        \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                                    8. Applied rewrites80.8%

                                                                                                      \[\leadsto \frac{x \cdot e^{\color{blue}{-b}}}{y} \]
                                                                                                    9. Step-by-step derivation
                                                                                                      1. lift-/.f64N/A

                                                                                                        \[\leadsto \color{blue}{\frac{x \cdot e^{\mathsf{neg}\left(b\right)}}{y}} \]
                                                                                                      2. lift-*.f64N/A

                                                                                                        \[\leadsto \frac{\color{blue}{x \cdot e^{\mathsf{neg}\left(b\right)}}}{y} \]
                                                                                                      3. associate-/l*N/A

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

                                                                                                        \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                                      5. lower-*.f64N/A

                                                                                                        \[\leadsto \color{blue}{\frac{e^{\mathsf{neg}\left(b\right)}}{y} \cdot x} \]
                                                                                                      6. lower-/.f6480.8

                                                                                                        \[\leadsto \color{blue}{\frac{e^{-b}}{y}} \cdot x \]
                                                                                                    10. Applied rewrites80.8%

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

                                                                                                    if -16000 < b < 0.78000000000000003

                                                                                                    1. Initial program 97.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 y around 0

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

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

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

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

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

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

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

                                                                                                        \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                      8. lower-pow.f64N/A

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

                                                                                                        \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                      10. sub-negN/A

                                                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                      11. metadata-evalN/A

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

                                                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                      13. lower-*.f64N/A

                                                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                      14. lower-exp.f6472.5

                                                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                    5. Applied rewrites72.5%

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

                                                                                                      \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                    7. Step-by-step derivation
                                                                                                      1. Applied rewrites43.9%

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

                                                                                                        \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot y} + \frac{x}{\color{blue}{a \cdot y}} \]
                                                                                                      3. Step-by-step derivation
                                                                                                        1. Applied rewrites38.1%

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

                                                                                                          \[\leadsto -1 \cdot \frac{-1 \cdot \frac{x}{y} + \frac{b \cdot x}{y}}{a} \]
                                                                                                        3. Step-by-step derivation
                                                                                                          1. Applied rewrites46.3%

                                                                                                            \[\leadsto \frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a} \]
                                                                                                        4. Recombined 2 regimes into one program.
                                                                                                        5. Final simplification64.2%

                                                                                                          \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -16000:\\ \;\;\;\;x \cdot \frac{e^{-b}}{y}\\ \mathbf{elif}\;b \leq 0.78:\\ \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \frac{e^{-b}}{y}\\ \end{array} \]
                                                                                                        6. Add Preprocessing

                                                                                                        Alternative 17: 34.7% accurate, 2.6× speedup?

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

                                                                                                          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 t around 0

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

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

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

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

                                                                                                              \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                            5. lower-/.f64N/A

                                                                                                              \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                            6. +-commutativeN/A

                                                                                                              \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                                                                                            7. mul-1-negN/A

                                                                                                              \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                                                                                            8. unsub-negN/A

                                                                                                              \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                                                                                            9. exp-diffN/A

                                                                                                              \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                                                                                            10. lower-/.f64N/A

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

                                                                                                              \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                            12. exp-to-powN/A

                                                                                                              \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                            13. lower-pow.f64N/A

                                                                                                              \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                            14. rem-exp-logN/A

                                                                                                              \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                                                                                            15. lower-*.f64N/A

                                                                                                              \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                            16. lower-exp.f6469.3

                                                                                                              \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                          5. Applied rewrites69.3%

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

                                                                                                            \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                          7. Step-by-step derivation
                                                                                                            1. Applied rewrites58.4%

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

                                                                                                              \[\leadsto x \cdot \frac{1}{a \cdot y} \]
                                                                                                            3. Step-by-step derivation
                                                                                                              1. Applied rewrites29.6%

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

                                                                                                              if -280 < (log.f64 a)

                                                                                                              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 y around 0

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

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

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

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

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

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

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

                                                                                                                  \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                8. lower-pow.f64N/A

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

                                                                                                                  \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                10. sub-negN/A

                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                11. metadata-evalN/A

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

                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                13. lower-*.f64N/A

                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                14. lower-exp.f6469.5

                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                              5. Applied rewrites69.5%

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

                                                                                                                \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                              7. Step-by-step derivation
                                                                                                                1. Applied rewrites65.5%

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

                                                                                                                  \[\leadsto \frac{x}{y \cdot \left(a + a \cdot \color{blue}{b}\right)} \]
                                                                                                                3. Step-by-step derivation
                                                                                                                  1. Applied rewrites38.3%

                                                                                                                    \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)} \]
                                                                                                                4. Recombined 2 regimes into one program.
                                                                                                                5. Add Preprocessing

                                                                                                                Alternative 18: 46.7% accurate, 6.5× speedup?

                                                                                                                \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{if}\;b \leq -100000000:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\ \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\ \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(a, b \cdot 0.5, a\right), a\right)}\\ \end{array} \end{array} \]
                                                                                                                (FPCore (x y z t a b)
                                                                                                                 :precision binary64
                                                                                                                 (let* ((t_1 (* x (* b (* b (/ 0.5 (* y a)))))))
                                                                                                                   (if (<= b -100000000.0)
                                                                                                                     t_1
                                                                                                                     (if (<= b -3.8e-105)
                                                                                                                       (/ (* (/ x y) (+ b -1.0)) (- a))
                                                                                                                       (if (<= b -6e-290) t_1 (/ x (* y (fma b (fma a (* b 0.5) a) a))))))))
                                                                                                                double code(double x, double y, double z, double t, double a, double b) {
                                                                                                                	double t_1 = x * (b * (b * (0.5 / (y * a))));
                                                                                                                	double tmp;
                                                                                                                	if (b <= -100000000.0) {
                                                                                                                		tmp = t_1;
                                                                                                                	} else if (b <= -3.8e-105) {
                                                                                                                		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                                                	} else if (b <= -6e-290) {
                                                                                                                		tmp = t_1;
                                                                                                                	} else {
                                                                                                                		tmp = x / (y * fma(b, fma(a, (b * 0.5), a), a));
                                                                                                                	}
                                                                                                                	return tmp;
                                                                                                                }
                                                                                                                
                                                                                                                function code(x, y, z, t, a, b)
                                                                                                                	t_1 = Float64(x * Float64(b * Float64(b * Float64(0.5 / Float64(y * a)))))
                                                                                                                	tmp = 0.0
                                                                                                                	if (b <= -100000000.0)
                                                                                                                		tmp = t_1;
                                                                                                                	elseif (b <= -3.8e-105)
                                                                                                                		tmp = Float64(Float64(Float64(x / y) * Float64(b + -1.0)) / Float64(-a));
                                                                                                                	elseif (b <= -6e-290)
                                                                                                                		tmp = t_1;
                                                                                                                	else
                                                                                                                		tmp = Float64(x / Float64(y * fma(b, fma(a, Float64(b * 0.5), a), a)));
                                                                                                                	end
                                                                                                                	return tmp
                                                                                                                end
                                                                                                                
                                                                                                                code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(b * N[(0.5 / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -100000000.0], t$95$1, If[LessEqual[b, -3.8e-105], N[(N[(N[(x / y), $MachinePrecision] * N[(b + -1.0), $MachinePrecision]), $MachinePrecision] / (-a)), $MachinePrecision], If[LessEqual[b, -6e-290], t$95$1, N[(x / N[(y * N[(b * N[(a * N[(b * 0.5), $MachinePrecision] + a), $MachinePrecision] + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
                                                                                                                
                                                                                                                \begin{array}{l}
                                                                                                                
                                                                                                                \\
                                                                                                                \begin{array}{l}
                                                                                                                t_1 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\
                                                                                                                \mathbf{if}\;b \leq -100000000:\\
                                                                                                                \;\;\;\;t\_1\\
                                                                                                                
                                                                                                                \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\
                                                                                                                \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\
                                                                                                                
                                                                                                                \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\
                                                                                                                \;\;\;\;t\_1\\
                                                                                                                
                                                                                                                \mathbf{else}:\\
                                                                                                                \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(a, b \cdot 0.5, a\right), a\right)}\\
                                                                                                                
                                                                                                                
                                                                                                                \end{array}
                                                                                                                \end{array}
                                                                                                                
                                                                                                                Derivation
                                                                                                                1. Split input into 3 regimes
                                                                                                                2. if b < -1e8 or -3.7999999999999998e-105 < b < -5.99999999999999985e-290

                                                                                                                  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 t around 0

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

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

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

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

                                                                                                                      \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                    5. lower-/.f64N/A

                                                                                                                      \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                    6. +-commutativeN/A

                                                                                                                      \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                                                                                                    7. mul-1-negN/A

                                                                                                                      \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                                                                                                    8. unsub-negN/A

                                                                                                                      \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                                                                                                    9. exp-diffN/A

                                                                                                                      \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                                                                                                    10. lower-/.f64N/A

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

                                                                                                                      \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                    12. exp-to-powN/A

                                                                                                                      \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                    13. lower-pow.f64N/A

                                                                                                                      \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                    14. rem-exp-logN/A

                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                                                                                                    15. lower-*.f64N/A

                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                    16. lower-exp.f6468.4

                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                  5. Applied rewrites68.4%

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

                                                                                                                    \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                  7. Step-by-step derivation
                                                                                                                    1. Applied rewrites67.9%

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

                                                                                                                      \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
                                                                                                                    3. Step-by-step derivation
                                                                                                                      1. Applied rewrites47.8%

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

                                                                                                                        \[\leadsto x \cdot \left(\frac{1}{2} \cdot \frac{{b}^{2}}{a \cdot \color{blue}{y}}\right) \]
                                                                                                                      3. Step-by-step derivation
                                                                                                                        1. Applied rewrites54.6%

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

                                                                                                                        if -1e8 < b < -3.7999999999999998e-105

                                                                                                                        1. Initial program 95.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                                                        4. Step-by-step derivation
                                                                                                                          1. *-commutativeN/A

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

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

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

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

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

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

                                                                                                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                          8. lower-pow.f64N/A

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

                                                                                                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                          10. sub-negN/A

                                                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                          11. metadata-evalN/A

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

                                                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                          13. lower-*.f64N/A

                                                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                          14. lower-exp.f6474.5

                                                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                        5. Applied rewrites74.5%

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

                                                                                                                          \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                        7. Step-by-step derivation
                                                                                                                          1. Applied rewrites57.4%

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

                                                                                                                            \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot y} + \frac{x}{\color{blue}{a \cdot y}} \]
                                                                                                                          3. Step-by-step derivation
                                                                                                                            1. Applied rewrites57.4%

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

                                                                                                                              \[\leadsto -1 \cdot \frac{-1 \cdot \frac{x}{y} + \frac{b \cdot x}{y}}{a} \]
                                                                                                                            3. Step-by-step derivation
                                                                                                                              1. Applied rewrites72.5%

                                                                                                                                \[\leadsto \frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a} \]

                                                                                                                              if -5.99999999999999985e-290 < b

                                                                                                                              1. Initial program 98.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 y around 0

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

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

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

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

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

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

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

                                                                                                                                  \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                8. lower-pow.f64N/A

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

                                                                                                                                  \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                10. sub-negN/A

                                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                11. metadata-evalN/A

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

                                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                13. lower-*.f64N/A

                                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                14. lower-exp.f6463.7

                                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                              5. Applied rewrites63.7%

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

                                                                                                                                \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                              7. Step-by-step derivation
                                                                                                                                1. Applied rewrites60.4%

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

                                                                                                                                  \[\leadsto \frac{x}{y \cdot \left(a + b \cdot \color{blue}{\left(a + \frac{1}{2} \cdot \left(a \cdot b\right)\right)}\right)} \]
                                                                                                                                3. Step-by-step derivation
                                                                                                                                  1. Applied rewrites48.8%

                                                                                                                                    \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(b, \mathsf{fma}\left(a, \color{blue}{b \cdot 0.5}, a\right), a\right)} \]
                                                                                                                                4. Recombined 3 regimes into one program.
                                                                                                                                5. Add Preprocessing

                                                                                                                                Alternative 19: 42.3% accurate, 6.7× speedup?

                                                                                                                                \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{if}\;b \leq -100000000:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\ \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\ \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\ \end{array} \end{array} \]
                                                                                                                                (FPCore (x y z t a b)
                                                                                                                                 :precision binary64
                                                                                                                                 (let* ((t_1 (* x (* b (* b (/ 0.5 (* y a)))))))
                                                                                                                                   (if (<= b -100000000.0)
                                                                                                                                     t_1
                                                                                                                                     (if (<= b -3.8e-105)
                                                                                                                                       (/ (* (/ x y) (+ b -1.0)) (- a))
                                                                                                                                       (if (<= b -6e-290) t_1 (/ x (* y (fma a b a))))))))
                                                                                                                                double code(double x, double y, double z, double t, double a, double b) {
                                                                                                                                	double t_1 = x * (b * (b * (0.5 / (y * a))));
                                                                                                                                	double tmp;
                                                                                                                                	if (b <= -100000000.0) {
                                                                                                                                		tmp = t_1;
                                                                                                                                	} else if (b <= -3.8e-105) {
                                                                                                                                		tmp = ((x / y) * (b + -1.0)) / -a;
                                                                                                                                	} else if (b <= -6e-290) {
                                                                                                                                		tmp = t_1;
                                                                                                                                	} else {
                                                                                                                                		tmp = x / (y * fma(a, b, a));
                                                                                                                                	}
                                                                                                                                	return tmp;
                                                                                                                                }
                                                                                                                                
                                                                                                                                function code(x, y, z, t, a, b)
                                                                                                                                	t_1 = Float64(x * Float64(b * Float64(b * Float64(0.5 / Float64(y * a)))))
                                                                                                                                	tmp = 0.0
                                                                                                                                	if (b <= -100000000.0)
                                                                                                                                		tmp = t_1;
                                                                                                                                	elseif (b <= -3.8e-105)
                                                                                                                                		tmp = Float64(Float64(Float64(x / y) * Float64(b + -1.0)) / Float64(-a));
                                                                                                                                	elseif (b <= -6e-290)
                                                                                                                                		tmp = t_1;
                                                                                                                                	else
                                                                                                                                		tmp = Float64(x / Float64(y * fma(a, b, a)));
                                                                                                                                	end
                                                                                                                                	return tmp
                                                                                                                                end
                                                                                                                                
                                                                                                                                code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(b * N[(0.5 / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -100000000.0], t$95$1, If[LessEqual[b, -3.8e-105], N[(N[(N[(x / y), $MachinePrecision] * N[(b + -1.0), $MachinePrecision]), $MachinePrecision] / (-a)), $MachinePrecision], If[LessEqual[b, -6e-290], t$95$1, N[(x / N[(y * N[(a * b + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
                                                                                                                                
                                                                                                                                \begin{array}{l}
                                                                                                                                
                                                                                                                                \\
                                                                                                                                \begin{array}{l}
                                                                                                                                t_1 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\
                                                                                                                                \mathbf{if}\;b \leq -100000000:\\
                                                                                                                                \;\;\;\;t\_1\\
                                                                                                                                
                                                                                                                                \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\
                                                                                                                                \;\;\;\;\frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a}\\
                                                                                                                                
                                                                                                                                \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\
                                                                                                                                \;\;\;\;t\_1\\
                                                                                                                                
                                                                                                                                \mathbf{else}:\\
                                                                                                                                \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\
                                                                                                                                
                                                                                                                                
                                                                                                                                \end{array}
                                                                                                                                \end{array}
                                                                                                                                
                                                                                                                                Derivation
                                                                                                                                1. Split input into 3 regimes
                                                                                                                                2. if b < -1e8 or -3.7999999999999998e-105 < b < -5.99999999999999985e-290

                                                                                                                                  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 t around 0

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

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

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

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

                                                                                                                                      \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                                    5. lower-/.f64N/A

                                                                                                                                      \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                                    6. +-commutativeN/A

                                                                                                                                      \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                                                                                                                    7. mul-1-negN/A

                                                                                                                                      \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                                                                                                                    8. unsub-negN/A

                                                                                                                                      \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                                                                                                                    9. exp-diffN/A

                                                                                                                                      \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                                                                                                                    10. lower-/.f64N/A

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

                                                                                                                                      \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                    12. exp-to-powN/A

                                                                                                                                      \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                    13. lower-pow.f64N/A

                                                                                                                                      \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                    14. rem-exp-logN/A

                                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                                                                                                                    15. lower-*.f64N/A

                                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                    16. lower-exp.f6468.4

                                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                  5. Applied rewrites68.4%

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

                                                                                                                                    \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                  7. Step-by-step derivation
                                                                                                                                    1. Applied rewrites67.9%

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

                                                                                                                                      \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
                                                                                                                                    3. Step-by-step derivation
                                                                                                                                      1. Applied rewrites47.8%

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

                                                                                                                                        \[\leadsto x \cdot \left(\frac{1}{2} \cdot \frac{{b}^{2}}{a \cdot \color{blue}{y}}\right) \]
                                                                                                                                      3. Step-by-step derivation
                                                                                                                                        1. Applied rewrites54.6%

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

                                                                                                                                        if -1e8 < b < -3.7999999999999998e-105

                                                                                                                                        1. Initial program 95.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                                                                        4. Step-by-step derivation
                                                                                                                                          1. *-commutativeN/A

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

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

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

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

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

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

                                                                                                                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                          8. lower-pow.f64N/A

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

                                                                                                                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                          10. sub-negN/A

                                                                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                          11. metadata-evalN/A

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

                                                                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                          13. lower-*.f64N/A

                                                                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                          14. lower-exp.f6474.5

                                                                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                        5. Applied rewrites74.5%

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

                                                                                                                                          \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                        7. Step-by-step derivation
                                                                                                                                          1. Applied rewrites57.4%

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

                                                                                                                                            \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot y} + \frac{x}{\color{blue}{a \cdot y}} \]
                                                                                                                                          3. Step-by-step derivation
                                                                                                                                            1. Applied rewrites57.4%

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

                                                                                                                                              \[\leadsto -1 \cdot \frac{-1 \cdot \frac{x}{y} + \frac{b \cdot x}{y}}{a} \]
                                                                                                                                            3. Step-by-step derivation
                                                                                                                                              1. Applied rewrites72.5%

                                                                                                                                                \[\leadsto \frac{\frac{x}{y} \cdot \left(b + -1\right)}{-a} \]

                                                                                                                                              if -5.99999999999999985e-290 < b

                                                                                                                                              1. Initial program 98.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 y around 0

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

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

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

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

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

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

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

                                                                                                                                                  \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                8. lower-pow.f64N/A

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

                                                                                                                                                  \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                10. sub-negN/A

                                                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                11. metadata-evalN/A

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

                                                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                13. lower-*.f64N/A

                                                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                14. lower-exp.f6463.7

                                                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                              5. Applied rewrites63.7%

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

                                                                                                                                                \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                              7. Step-by-step derivation
                                                                                                                                                1. Applied rewrites60.4%

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

                                                                                                                                                  \[\leadsto \frac{x}{y \cdot \left(a + a \cdot \color{blue}{b}\right)} \]
                                                                                                                                                3. Step-by-step derivation
                                                                                                                                                  1. Applied rewrites39.0%

                                                                                                                                                    \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)} \]
                                                                                                                                                4. Recombined 3 regimes into one program.
                                                                                                                                                5. Add Preprocessing

                                                                                                                                                Alternative 20: 42.2% accurate, 6.7× speedup?

                                                                                                                                                \[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{if}\;b \leq -410000:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\ \;\;\;\;\frac{x}{y} \cdot \frac{1}{a}\\ \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\ \end{array} \end{array} \]
                                                                                                                                                (FPCore (x y z t a b)
                                                                                                                                                 :precision binary64
                                                                                                                                                 (let* ((t_1 (* x (* b (* b (/ 0.5 (* y a)))))))
                                                                                                                                                   (if (<= b -410000.0)
                                                                                                                                                     t_1
                                                                                                                                                     (if (<= b -3.8e-105)
                                                                                                                                                       (* (/ x y) (/ 1.0 a))
                                                                                                                                                       (if (<= b -6e-290) t_1 (/ x (* y (fma a b a))))))))
                                                                                                                                                double code(double x, double y, double z, double t, double a, double b) {
                                                                                                                                                	double t_1 = x * (b * (b * (0.5 / (y * a))));
                                                                                                                                                	double tmp;
                                                                                                                                                	if (b <= -410000.0) {
                                                                                                                                                		tmp = t_1;
                                                                                                                                                	} else if (b <= -3.8e-105) {
                                                                                                                                                		tmp = (x / y) * (1.0 / a);
                                                                                                                                                	} else if (b <= -6e-290) {
                                                                                                                                                		tmp = t_1;
                                                                                                                                                	} else {
                                                                                                                                                		tmp = x / (y * fma(a, b, a));
                                                                                                                                                	}
                                                                                                                                                	return tmp;
                                                                                                                                                }
                                                                                                                                                
                                                                                                                                                function code(x, y, z, t, a, b)
                                                                                                                                                	t_1 = Float64(x * Float64(b * Float64(b * Float64(0.5 / Float64(y * a)))))
                                                                                                                                                	tmp = 0.0
                                                                                                                                                	if (b <= -410000.0)
                                                                                                                                                		tmp = t_1;
                                                                                                                                                	elseif (b <= -3.8e-105)
                                                                                                                                                		tmp = Float64(Float64(x / y) * Float64(1.0 / a));
                                                                                                                                                	elseif (b <= -6e-290)
                                                                                                                                                		tmp = t_1;
                                                                                                                                                	else
                                                                                                                                                		tmp = Float64(x / Float64(y * fma(a, b, a)));
                                                                                                                                                	end
                                                                                                                                                	return tmp
                                                                                                                                                end
                                                                                                                                                
                                                                                                                                                code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(b * N[(b * N[(0.5 / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -410000.0], t$95$1, If[LessEqual[b, -3.8e-105], N[(N[(x / y), $MachinePrecision] * N[(1.0 / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -6e-290], t$95$1, N[(x / N[(y * N[(a * b + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
                                                                                                                                                
                                                                                                                                                \begin{array}{l}
                                                                                                                                                
                                                                                                                                                \\
                                                                                                                                                \begin{array}{l}
                                                                                                                                                t_1 := x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\
                                                                                                                                                \mathbf{if}\;b \leq -410000:\\
                                                                                                                                                \;\;\;\;t\_1\\
                                                                                                                                                
                                                                                                                                                \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\
                                                                                                                                                \;\;\;\;\frac{x}{y} \cdot \frac{1}{a}\\
                                                                                                                                                
                                                                                                                                                \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\
                                                                                                                                                \;\;\;\;t\_1\\
                                                                                                                                                
                                                                                                                                                \mathbf{else}:\\
                                                                                                                                                \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\
                                                                                                                                                
                                                                                                                                                
                                                                                                                                                \end{array}
                                                                                                                                                \end{array}
                                                                                                                                                
                                                                                                                                                Derivation
                                                                                                                                                1. Split input into 3 regimes
                                                                                                                                                2. if b < -4.1e5 or -3.7999999999999998e-105 < b < -5.99999999999999985e-290

                                                                                                                                                  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 t around 0

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

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

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

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

                                                                                                                                                      \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                                                    5. lower-/.f64N/A

                                                                                                                                                      \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                                                    6. +-commutativeN/A

                                                                                                                                                      \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                                                                                                                                    7. mul-1-negN/A

                                                                                                                                                      \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                                                                                                                                    8. unsub-negN/A

                                                                                                                                                      \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                                                                                                                                    9. exp-diffN/A

                                                                                                                                                      \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                                                                                                                                    10. lower-/.f64N/A

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

                                                                                                                                                      \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                                    12. exp-to-powN/A

                                                                                                                                                      \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                                    13. lower-pow.f64N/A

                                                                                                                                                      \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                                    14. rem-exp-logN/A

                                                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                                                                                                                                    15. lower-*.f64N/A

                                                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                    16. lower-exp.f6468.4

                                                                                                                                                      \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                  5. Applied rewrites68.4%

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

                                                                                                                                                    \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                  7. Step-by-step derivation
                                                                                                                                                    1. Applied rewrites67.9%

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

                                                                                                                                                      \[\leadsto x \cdot \left(b \cdot \left(\frac{1}{2} \cdot \frac{b}{a \cdot y} - \frac{1}{a \cdot y}\right) + \frac{1}{\color{blue}{a \cdot y}}\right) \]
                                                                                                                                                    3. Step-by-step derivation
                                                                                                                                                      1. Applied rewrites47.8%

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

                                                                                                                                                        \[\leadsto x \cdot \left(\frac{1}{2} \cdot \frac{{b}^{2}}{a \cdot \color{blue}{y}}\right) \]
                                                                                                                                                      3. Step-by-step derivation
                                                                                                                                                        1. Applied rewrites54.6%

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

                                                                                                                                                        if -4.1e5 < b < -3.7999999999999998e-105

                                                                                                                                                        1. Initial program 95.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                                                                                        4. Step-by-step derivation
                                                                                                                                                          1. *-commutativeN/A

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

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

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

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

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

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

                                                                                                                                                            \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                          8. lower-pow.f64N/A

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

                                                                                                                                                            \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                          10. sub-negN/A

                                                                                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                          11. metadata-evalN/A

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

                                                                                                                                                            \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                          13. lower-*.f64N/A

                                                                                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                          14. lower-exp.f6474.5

                                                                                                                                                            \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                        5. Applied rewrites74.5%

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

                                                                                                                                                          \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                                                                                                        7. Step-by-step derivation
                                                                                                                                                          1. Applied rewrites75.1%

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

                                                                                                                                                            \[\leadsto \frac{1}{a} \cdot \frac{x}{y} \]
                                                                                                                                                          3. Step-by-step derivation
                                                                                                                                                            1. Applied rewrites71.4%

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

                                                                                                                                                            if -5.99999999999999985e-290 < b

                                                                                                                                                            1. Initial program 98.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 y around 0

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

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

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

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

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

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

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

                                                                                                                                                                \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                              8. lower-pow.f64N/A

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

                                                                                                                                                                \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                              10. sub-negN/A

                                                                                                                                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                              11. metadata-evalN/A

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

                                                                                                                                                                \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                              13. lower-*.f64N/A

                                                                                                                                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                              14. lower-exp.f6463.7

                                                                                                                                                                \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                            5. Applied rewrites63.7%

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

                                                                                                                                                              \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                            7. Step-by-step derivation
                                                                                                                                                              1. Applied rewrites60.4%

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

                                                                                                                                                                \[\leadsto \frac{x}{y \cdot \left(a + a \cdot \color{blue}{b}\right)} \]
                                                                                                                                                              3. Step-by-step derivation
                                                                                                                                                                1. Applied rewrites39.0%

                                                                                                                                                                  \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)} \]
                                                                                                                                                              4. Recombined 3 regimes into one program.
                                                                                                                                                              5. Final simplification48.2%

                                                                                                                                                                \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -410000:\\ \;\;\;\;x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-105}:\\ \;\;\;\;\frac{x}{y} \cdot \frac{1}{a}\\ \mathbf{elif}\;b \leq -6 \cdot 10^{-290}:\\ \;\;\;\;x \cdot \left(b \cdot \left(b \cdot \frac{0.5}{y \cdot a}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\ \end{array} \]
                                                                                                                                                              6. Add Preprocessing

                                                                                                                                                              Alternative 21: 37.0% accurate, 8.0× speedup?

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

                                                                                                                                                                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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                                                                                                4. Step-by-step derivation
                                                                                                                                                                  1. *-commutativeN/A

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

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

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

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

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

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

                                                                                                                                                                    \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                  8. lower-pow.f64N/A

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

                                                                                                                                                                    \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                  10. sub-negN/A

                                                                                                                                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                  11. metadata-evalN/A

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

                                                                                                                                                                    \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                  13. lower-*.f64N/A

                                                                                                                                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                  14. lower-exp.f6472.1

                                                                                                                                                                    \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                5. Applied rewrites72.1%

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

                                                                                                                                                                  \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                                7. Step-by-step derivation
                                                                                                                                                                  1. Applied rewrites65.6%

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

                                                                                                                                                                    \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot y} + \frac{x}{\color{blue}{a \cdot y}} \]
                                                                                                                                                                  3. Step-by-step derivation
                                                                                                                                                                    1. Applied rewrites34.5%

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

                                                                                                                                                                      \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot \color{blue}{y}} \]
                                                                                                                                                                    3. Step-by-step derivation
                                                                                                                                                                      1. Applied rewrites39.5%

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

                                                                                                                                                                      if -6.40000000000000028e49 < b < -1.78e-102

                                                                                                                                                                      1. Initial program 96.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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                                                                                                      4. Step-by-step derivation
                                                                                                                                                                        1. *-commutativeN/A

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

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

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

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

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

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

                                                                                                                                                                          \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                        8. lower-pow.f64N/A

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

                                                                                                                                                                          \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                        10. sub-negN/A

                                                                                                                                                                          \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                        11. metadata-evalN/A

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

                                                                                                                                                                          \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                        13. lower-*.f64N/A

                                                                                                                                                                          \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                        14. lower-exp.f6474.7

                                                                                                                                                                          \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                      5. Applied rewrites74.7%

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

                                                                                                                                                                        \[\leadsto \frac{x \cdot e^{\log a \cdot \left(t - 1\right)}}{\color{blue}{y}} \]
                                                                                                                                                                      7. Step-by-step derivation
                                                                                                                                                                        1. Applied rewrites66.6%

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

                                                                                                                                                                          \[\leadsto \frac{1}{a} \cdot \frac{x}{y} \]
                                                                                                                                                                        3. Step-by-step derivation
                                                                                                                                                                          1. Applied rewrites61.0%

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

                                                                                                                                                                          if -5.6000000000000002e-301 < b

                                                                                                                                                                          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 y around 0

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

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

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

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

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

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

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

                                                                                                                                                                              \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                            8. lower-pow.f64N/A

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

                                                                                                                                                                              \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                            10. sub-negN/A

                                                                                                                                                                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                            11. metadata-evalN/A

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

                                                                                                                                                                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                            13. lower-*.f64N/A

                                                                                                                                                                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                            14. lower-exp.f6463.3

                                                                                                                                                                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                          5. Applied rewrites63.3%

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

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

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

                                                                                                                                                                              \[\leadsto \frac{x}{y \cdot \left(a + a \cdot \color{blue}{b}\right)} \]
                                                                                                                                                                            3. Step-by-step derivation
                                                                                                                                                                              1. Applied rewrites38.5%

                                                                                                                                                                                \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)} \]
                                                                                                                                                                            4. Recombined 3 regimes into one program.
                                                                                                                                                                            5. Final simplification41.8%

                                                                                                                                                                              \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -6.4 \cdot 10^{+49}:\\ \;\;\;\;\left(-b\right) \cdot \frac{x}{y \cdot a}\\ \mathbf{elif}\;b \leq -1.78 \cdot 10^{-102}:\\ \;\;\;\;\frac{x}{y} \cdot \frac{1}{a}\\ \mathbf{elif}\;b \leq -5.6 \cdot 10^{-301}:\\ \;\;\;\;\left(-b\right) \cdot \frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\ \end{array} \]
                                                                                                                                                                            6. Add Preprocessing

                                                                                                                                                                            Alternative 22: 38.1% accurate, 11.2× speedup?

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

                                                                                                                                                                              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 0

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

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

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

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

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

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

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

                                                                                                                                                                                  \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                8. lower-pow.f64N/A

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

                                                                                                                                                                                  \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                10. sub-negN/A

                                                                                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                11. metadata-evalN/A

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

                                                                                                                                                                                  \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                13. lower-*.f64N/A

                                                                                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                                14. lower-exp.f6470.8

                                                                                                                                                                                  \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                              5. Applied rewrites70.8%

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

                                                                                                                                                                                \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                                              7. Step-by-step derivation
                                                                                                                                                                                1. Applied rewrites87.9%

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

                                                                                                                                                                                  \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot y} + \frac{x}{\color{blue}{a \cdot y}} \]
                                                                                                                                                                                3. Step-by-step derivation
                                                                                                                                                                                  1. Applied rewrites33.4%

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

                                                                                                                                                                                    \[\leadsto -1 \cdot \frac{b \cdot x}{a \cdot \color{blue}{y}} \]
                                                                                                                                                                                  3. Step-by-step derivation
                                                                                                                                                                                    1. Applied rewrites33.4%

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

                                                                                                                                                                                    if -0.819999999999999951 < b

                                                                                                                                                                                    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 y around 0

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

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

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

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

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

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

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

                                                                                                                                                                                        \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                      8. lower-pow.f64N/A

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

                                                                                                                                                                                        \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                      10. sub-negN/A

                                                                                                                                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                      11. metadata-evalN/A

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

                                                                                                                                                                                        \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                      13. lower-*.f64N/A

                                                                                                                                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                                      14. lower-exp.f6467.2

                                                                                                                                                                                        \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                                    5. Applied rewrites67.2%

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

                                                                                                                                                                                      \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                                                    7. Step-by-step derivation
                                                                                                                                                                                      1. Applied rewrites54.6%

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

                                                                                                                                                                                        \[\leadsto \frac{x}{y \cdot \left(a + a \cdot \color{blue}{b}\right)} \]
                                                                                                                                                                                      3. Step-by-step derivation
                                                                                                                                                                                        1. Applied rewrites39.9%

                                                                                                                                                                                          \[\leadsto \frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)} \]
                                                                                                                                                                                      4. Recombined 2 regimes into one program.
                                                                                                                                                                                      5. Final simplification38.2%

                                                                                                                                                                                        \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -0.82:\\ \;\;\;\;\left(-b\right) \cdot \frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, b, a\right)}\\ \end{array} \]
                                                                                                                                                                                      6. Add Preprocessing

                                                                                                                                                                                      Alternative 23: 31.3% accurate, 15.3× speedup?

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

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

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

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

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

                                                                                                                                                                                          \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                                                                                        5. lower-/.f64N/A

                                                                                                                                                                                          \[\leadsto x \cdot \color{blue}{\frac{e^{-1 \cdot \log a + y \cdot \log z}}{y \cdot e^{b}}} \]
                                                                                                                                                                                        6. +-commutativeN/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z + -1 \cdot \log a}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        7. mul-1-negN/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{e^{y \cdot \log z + \color{blue}{\left(\mathsf{neg}\left(\log a\right)\right)}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        8. unsub-negN/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{e^{\color{blue}{y \cdot \log z - \log a}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        9. exp-diffN/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\color{blue}{\frac{e^{y \cdot \log z}}{e^{\log a}}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        10. lower-/.f64N/A

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

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\frac{e^{\color{blue}{\log z \cdot y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        12. exp-to-powN/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        13. lower-pow.f64N/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\frac{\color{blue}{{z}^{y}}}{e^{\log a}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        14. rem-exp-logN/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{\color{blue}{a}}}{y \cdot e^{b}} \]
                                                                                                                                                                                        15. lower-*.f64N/A

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                                        16. lower-exp.f6471.0

                                                                                                                                                                                          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                                      5. Applied rewrites71.0%

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

                                                                                                                                                                                        \[\leadsto x \cdot \frac{1}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                                                      7. Step-by-step derivation
                                                                                                                                                                                        1. Applied rewrites63.0%

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

                                                                                                                                                                                          \[\leadsto x \cdot \frac{1}{a \cdot y} \]
                                                                                                                                                                                        3. Step-by-step derivation
                                                                                                                                                                                          1. Applied rewrites28.9%

                                                                                                                                                                                            \[\leadsto x \cdot \frac{1}{y \cdot a} \]
                                                                                                                                                                                          2. Add Preprocessing

                                                                                                                                                                                          Alternative 24: 31.2% accurate, 19.8× speedup?

                                                                                                                                                                                          \[\begin{array}{l} \\ \frac{x}{y \cdot a} \end{array} \]
                                                                                                                                                                                          (FPCore (x y z t a b) :precision binary64 (/ x (* y a)))
                                                                                                                                                                                          double code(double x, double y, double z, double t, double a, double b) {
                                                                                                                                                                                          	return x / (y * a);
                                                                                                                                                                                          }
                                                                                                                                                                                          
                                                                                                                                                                                          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 * a)
                                                                                                                                                                                          end function
                                                                                                                                                                                          
                                                                                                                                                                                          public static double code(double x, double y, double z, double t, double a, double b) {
                                                                                                                                                                                          	return x / (y * a);
                                                                                                                                                                                          }
                                                                                                                                                                                          
                                                                                                                                                                                          def code(x, y, z, t, a, b):
                                                                                                                                                                                          	return x / (y * a)
                                                                                                                                                                                          
                                                                                                                                                                                          function code(x, y, z, t, a, b)
                                                                                                                                                                                          	return Float64(x / Float64(y * a))
                                                                                                                                                                                          end
                                                                                                                                                                                          
                                                                                                                                                                                          function tmp = code(x, y, z, t, a, b)
                                                                                                                                                                                          	tmp = x / (y * a);
                                                                                                                                                                                          end
                                                                                                                                                                                          
                                                                                                                                                                                          code[x_, y_, z_, t_, a_, b_] := N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision]
                                                                                                                                                                                          
                                                                                                                                                                                          \begin{array}{l}
                                                                                                                                                                                          
                                                                                                                                                                                          \\
                                                                                                                                                                                          \frac{x}{y \cdot a}
                                                                                                                                                                                          \end{array}
                                                                                                                                                                                          
                                                                                                                                                                                          Derivation
                                                                                                                                                                                          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 \color{blue}{\frac{x \cdot e^{\log a \cdot \left(t - 1\right) - b}}{y}} \]
                                                                                                                                                                                          4. Step-by-step derivation
                                                                                                                                                                                            1. *-commutativeN/A

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

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

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

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

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

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

                                                                                                                                                                                              \[\leadsto \frac{\color{blue}{{\left(e^{\log a}\right)}^{\left(t - 1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                            8. lower-pow.f64N/A

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

                                                                                                                                                                                              \[\leadsto \frac{{\color{blue}{a}}^{\left(t - 1\right)} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                            10. sub-negN/A

                                                                                                                                                                                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + \left(\mathsf{neg}\left(1\right)\right)\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                            11. metadata-evalN/A

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

                                                                                                                                                                                              \[\leadsto \frac{{a}^{\color{blue}{\left(t + -1\right)}} \cdot x}{y \cdot e^{b}} \]
                                                                                                                                                                                            13. lower-*.f64N/A

                                                                                                                                                                                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{\color{blue}{y \cdot e^{b}}} \]
                                                                                                                                                                                            14. lower-exp.f6468.1

                                                                                                                                                                                              \[\leadsto \frac{{a}^{\left(t + -1\right)} \cdot x}{y \cdot \color{blue}{e^{b}}} \]
                                                                                                                                                                                          5. Applied rewrites68.1%

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

                                                                                                                                                                                            \[\leadsto \frac{x}{\color{blue}{a \cdot \left(y \cdot e^{b}\right)}} \]
                                                                                                                                                                                          7. Step-by-step derivation
                                                                                                                                                                                            1. Applied rewrites63.0%

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

                                                                                                                                                                                              \[\leadsto \frac{x}{a \cdot y} \]
                                                                                                                                                                                            3. Step-by-step derivation
                                                                                                                                                                                              1. Applied rewrites28.6%

                                                                                                                                                                                                \[\leadsto \frac{x}{y \cdot a} \]
                                                                                                                                                                                              2. Add Preprocessing

                                                                                                                                                                                              Developer Target 1: 73.3% 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 2024233 
                                                                                                                                                                                              (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))