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

Percentage Accurate: 98.6% → 98.7%
Time: 16.6s
Alternatives: 22
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 22 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.6% 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.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{x}{y \cdot e^{b - \mathsf{fma}\left(y, \log z, \left(t + -1\right) \cdot \log a\right)}} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (/ x (* y (exp (- b (fma y (log z) (* (+ t -1.0) (log a))))))))
double code(double x, double y, double z, double t, double a, double b) {
	return x / (y * exp((b - fma(y, log(z), ((t + -1.0) * log(a))))));
}
function code(x, y, z, t, a, b)
	return Float64(x / Float64(y * exp(Float64(b - fma(y, log(z), Float64(Float64(t + -1.0) * log(a)))))))
end
code[x_, y_, z_, t_, a_, b_] := N[(x / N[(y * N[Exp[N[(b - N[(y * N[Log[z], $MachinePrecision] + N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{x}{y \cdot e^{b - \mathsf{fma}\left(y, \log z, \left(t + -1\right) \cdot \log a\right)}}
\end{array}
Derivation
  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. Step-by-step derivation
    1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{x}{y \cdot e^{b - \mathsf{fma}\left(y, \log z, \left(t + -1\right) \cdot \log a\right)}}} \]
  5. Add Preprocessing

Alternative 2: 48.2% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y}\\ t_2 := \frac{\frac{x \cdot 2}{y \cdot a} + \frac{x}{y \cdot \left(b \cdot a\right)} \cdot \left(-4 - \frac{-4}{b}\right)}{b \cdot b}\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+283}:\\ \;\;\;\;\frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right) \cdot \frac{y}{x}}\\ \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)) (* (+ t -1.0) (log a))) b))) y))
        (t_2
         (/
          (+ (/ (* x 2.0) (* y a)) (* (/ x (* y (* b a))) (- -4.0 (/ -4.0 b))))
          (* b b))))
   (if (<= t_1 (- INFINITY))
     t_2
     (if (<= t_1 5e+283)
       (/ 1.0 (* (fma a (fma b (* b 0.5) b) a) (/ y x)))
       t_2))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (x * exp((((y * log(z)) + ((t + -1.0) * log(a))) - b))) / y;
	double t_2 = (((x * 2.0) / (y * a)) + ((x / (y * (b * a))) * (-4.0 - (-4.0 / b)))) / (b * b);
	double tmp;
	if (t_1 <= -((double) INFINITY)) {
		tmp = t_2;
	} else if (t_1 <= 5e+283) {
		tmp = 1.0 / (fma(a, fma(b, (b * 0.5), b), a) * (y / x));
	} 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(Float64(t + -1.0) * log(a))) - b))) / y)
	t_2 = Float64(Float64(Float64(Float64(x * 2.0) / Float64(y * a)) + Float64(Float64(x / Float64(y * Float64(b * a))) * Float64(-4.0 - Float64(-4.0 / b)))) / Float64(b * b))
	tmp = 0.0
	if (t_1 <= Float64(-Inf))
		tmp = t_2;
	elseif (t_1 <= 5e+283)
		tmp = Float64(1.0 / Float64(fma(a, fma(b, Float64(b * 0.5), b), a) * Float64(y / x)));
	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[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(x * 2.0), $MachinePrecision] / N[(y * a), $MachinePrecision]), $MachinePrecision] + N[(N[(x / N[(y * N[(b * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(-4.0 - N[(-4.0 / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(b * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], t$95$2, If[LessEqual[t$95$1, 5e+283], N[(1.0 / N[(N[(a * N[(b * N[(b * 0.5), $MachinePrecision] + b), $MachinePrecision] + a), $MachinePrecision] * N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+283}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right) \cdot \frac{y}{x}}\\

\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 5.0000000000000004e283 < (/.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.f6468.3

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6449.8

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites49.8%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites17.7%

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

      \[\leadsto \color{blue}{\frac{\left(-1 \cdot \frac{-8 \cdot \frac{x}{a \cdot y} + 4 \cdot \frac{x}{a \cdot y}}{{b}^{2}} + 2 \cdot \frac{x}{a \cdot y}\right) - 4 \cdot \frac{x}{a \cdot \left(b \cdot y\right)}}{{b}^{2}}} \]
    13. Applied rewrites44.1%

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

    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) < 5.0000000000000004e283

    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 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.f6467.5

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6465.1

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites65.1%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites56.7%

      \[\leadsto \color{blue}{\frac{x}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)}} \]
    12. Step-by-step derivation
      1. lift-*.f64N/A

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

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

        \[\leadsto \frac{x}{y \cdot \color{blue}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{x}{\color{blue}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      5. remove-double-negN/A

        \[\leadsto \frac{x}{\color{blue}{\mathsf{neg}\left(\left(\mathsf{neg}\left(y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)\right)\right)\right)}} \]
      6. *-rgt-identityN/A

        \[\leadsto \frac{\color{blue}{x \cdot 1}}{\mathsf{neg}\left(\left(\mathsf{neg}\left(y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)\right)\right)\right)} \]
      7. remove-double-negN/A

        \[\leadsto \frac{x \cdot 1}{\color{blue}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      8. lift-*.f64N/A

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

        \[\leadsto \color{blue}{\frac{x}{y} \cdot \frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      10. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \cdot \frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)} \]
      11. frac-timesN/A

        \[\leadsto \color{blue}{\frac{1 \cdot 1}{\frac{y}{x} \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      12. metadata-evalN/A

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

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

        \[\leadsto \frac{1}{\color{blue}{\frac{y}{x} \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      15. lower-/.f6457.9

        \[\leadsto \frac{1}{\color{blue}{\frac{y}{x}} \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)} \]
    13. Applied rewrites57.9%

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

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

Alternative 3: 47.2% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y}\\ t_2 := \frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+283}:\\ \;\;\;\;\frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right) \cdot \frac{y}{x}}\\ \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)) (* (+ t -1.0) (log a))) b))) y))
        (t_2 (/ x (* y (* 0.5 (* a (* b b)))))))
   (if (<= t_1 (- INFINITY))
     t_2
     (if (<= t_1 5e+283)
       (/ 1.0 (* (fma a (fma b (* b 0.5) b) a) (/ y x)))
       t_2))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (x * exp((((y * log(z)) + ((t + -1.0) * log(a))) - b))) / y;
	double t_2 = x / (y * (0.5 * (a * (b * b))));
	double tmp;
	if (t_1 <= -((double) INFINITY)) {
		tmp = t_2;
	} else if (t_1 <= 5e+283) {
		tmp = 1.0 / (fma(a, fma(b, (b * 0.5), b), a) * (y / x));
	} 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(Float64(t + -1.0) * log(a))) - b))) / y)
	t_2 = Float64(x / Float64(y * Float64(0.5 * Float64(a * Float64(b * b)))))
	tmp = 0.0
	if (t_1 <= Float64(-Inf))
		tmp = t_2;
	elseif (t_1 <= 5e+283)
		tmp = Float64(1.0 / Float64(fma(a, fma(b, Float64(b * 0.5), b), a) * Float64(y / x)));
	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[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[(y * N[(0.5 * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], t$95$2, If[LessEqual[t$95$1, 5e+283], N[(1.0 / N[(N[(a * N[(b * N[(b * 0.5), $MachinePrecision] + b), $MachinePrecision] + a), $MachinePrecision] * N[(y / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+283}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right) \cdot \frac{y}{x}}\\

\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 5.0000000000000004e283 < (/.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.f6468.3

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6449.8

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites49.8%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites17.7%

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

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

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

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

        \[\leadsto \frac{x}{y \cdot \left(\frac{1}{2} \cdot \left(a \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)} \]
      4. lower-*.f6441.0

        \[\leadsto \frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)} \]
    14. Applied rewrites41.0%

      \[\leadsto \frac{x}{y \cdot \color{blue}{\left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\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) < 5.0000000000000004e283

    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 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.f6467.5

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6465.1

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites65.1%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites56.7%

      \[\leadsto \color{blue}{\frac{x}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)}} \]
    12. Step-by-step derivation
      1. lift-*.f64N/A

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

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

        \[\leadsto \frac{x}{y \cdot \color{blue}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{x}{\color{blue}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      5. remove-double-negN/A

        \[\leadsto \frac{x}{\color{blue}{\mathsf{neg}\left(\left(\mathsf{neg}\left(y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)\right)\right)\right)}} \]
      6. *-rgt-identityN/A

        \[\leadsto \frac{\color{blue}{x \cdot 1}}{\mathsf{neg}\left(\left(\mathsf{neg}\left(y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)\right)\right)\right)} \]
      7. remove-double-negN/A

        \[\leadsto \frac{x \cdot 1}{\color{blue}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      8. lift-*.f64N/A

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

        \[\leadsto \color{blue}{\frac{x}{y} \cdot \frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      10. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \cdot \frac{1}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)} \]
      11. frac-timesN/A

        \[\leadsto \color{blue}{\frac{1 \cdot 1}{\frac{y}{x} \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      12. metadata-evalN/A

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

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

        \[\leadsto \frac{1}{\color{blue}{\frac{y}{x} \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      15. lower-/.f6457.9

        \[\leadsto \frac{1}{\color{blue}{\frac{y}{x}} \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)} \]
    13. Applied rewrites57.9%

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

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

Alternative 4: 49.2% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y}\\ t_2 := \frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+283}:\\ \;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\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)) (* (+ t -1.0) (log a))) b))) y))
        (t_2 (/ x (* y (* 0.5 (* a (* b b)))))))
   (if (<= t_1 (- INFINITY))
     t_2
     (if (<= t_1 5e+283) (/ x (* y (fma a (fma b (* b 0.5) b) 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)) + ((t + -1.0) * log(a))) - b))) / y;
	double t_2 = x / (y * (0.5 * (a * (b * b))));
	double tmp;
	if (t_1 <= -((double) INFINITY)) {
		tmp = t_2;
	} else if (t_1 <= 5e+283) {
		tmp = x / (y * fma(a, fma(b, (b * 0.5), b), 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(Float64(t + -1.0) * log(a))) - b))) / y)
	t_2 = Float64(x / Float64(y * Float64(0.5 * Float64(a * Float64(b * b)))))
	tmp = 0.0
	if (t_1 <= Float64(-Inf))
		tmp = t_2;
	elseif (t_1 <= 5e+283)
		tmp = Float64(x / Float64(y * fma(a, fma(b, Float64(b * 0.5), b), 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[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[(y * N[(0.5 * N[(a * N[(b * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], t$95$2, If[LessEqual[t$95$1, 5e+283], N[(x / N[(y * N[(a * N[(b * N[(b * 0.5), $MachinePrecision] + b), $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 + \left(t + -1\right) \cdot \log a\right) - b}}{y}\\
t_2 := \frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+283}:\\
\;\;\;\;\frac{x}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\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 5.0000000000000004e283 < (/.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.f6468.3

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6449.8

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites49.8%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites17.7%

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

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

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

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

        \[\leadsto \frac{x}{y \cdot \left(\frac{1}{2} \cdot \left(a \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)} \]
      4. lower-*.f6441.0

        \[\leadsto \frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)} \]
    14. Applied rewrites41.0%

      \[\leadsto \frac{x}{y \cdot \color{blue}{\left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\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) < 5.0000000000000004e283

    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 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.f6467.5

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6465.1

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites65.1%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites56.7%

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

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

Alternative 5: 84.5% accurate, 0.6× speedup?

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

\\
\begin{array}{l}
t_1 := \left(t + -1\right) \cdot \log a\\
t_2 := \frac{x \cdot e^{t \cdot \log a - b}}{y}\\
\mathbf{if}\;t\_1 \leq -50000000000000:\\
\;\;\;\;t\_2\\

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;\frac{x \cdot e^{y \cdot \log z - b}}{y}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -5e13 or 5e51 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))

    1. Initial program 100.0%

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

      \[\leadsto \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-log94.5

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

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

    if -5e13 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -442

    1. Initial program 86.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 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.f6495.6

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, \frac{1}{2}, \frac{1}{6} \cdot \color{blue}{\left(y \cdot b\right)}\right), y\right), y\right)} \]
      10. lower-*.f6485.0

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, 0.5, 0.16666666666666666 \cdot \color{blue}{\left(y \cdot b\right)}\right), y\right), y\right)} \]
    8. Applied rewrites85.0%

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

    if -442 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < 5e51

    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 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.f6483.8

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

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

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

Alternative 6: 75.6% accurate, 0.6× speedup?

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

\\
\begin{array}{l}
t_1 := \left(t + -1\right) \cdot \log a\\
\mathbf{if}\;t\_1 \leq -50000000000000:\\
\;\;\;\;\frac{x}{y \cdot {a}^{\left(1 - t\right)}}\\

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{y}}{a}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot e^{\log a \cdot \left(-t\right)}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -5e13

    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. Step-by-step derivation
      1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

    if -5e13 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -315

    1. Initial program 89.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.f6490.8

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, \frac{1}{2}, \frac{1}{6} \cdot \color{blue}{\left(y \cdot b\right)}\right), y\right), y\right)} \]
      10. lower-*.f6479.5

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, 0.5, 0.16666666666666666 \cdot \color{blue}{\left(y \cdot b\right)}\right), y\right), y\right)} \]
    8. Applied rewrites79.5%

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

    if -315 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < 5e51

    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 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.f6477.3

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

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

      \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      4. lower-*.f6472.7

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

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      3. associate-*r/N/A

        \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y \cdot a}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{x \cdot {z}^{y}}}{y \cdot a} \]
      5. lift-*.f64N/A

        \[\leadsto \frac{x \cdot {z}^{y}}{\color{blue}{y \cdot a}} \]
      6. associate-/r*N/A

        \[\leadsto \color{blue}{\frac{\frac{x \cdot {z}^{y}}{y}}{a}} \]
      7. div-invN/A

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
      14. lower-/.f6480.0

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
    10. Applied rewrites80.0%

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

    if 5e51 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))

    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. Step-by-step derivation
      1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot e^{\mathsf{neg}\left(\color{blue}{\log a \cdot t}\right)}} \]
      5. lower-log.f6484.3

        \[\leadsto \frac{x}{y \cdot e^{-\color{blue}{\log a} \cdot t}} \]
    7. Applied rewrites84.3%

      \[\leadsto \frac{x}{y \cdot e^{\color{blue}{-\log a \cdot t}}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification82.9%

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

Alternative 7: 75.6% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(t + -1\right) \cdot \log a\\ t_2 := \frac{x}{y \cdot {a}^{\left(1 - t\right)}}\\ \mathbf{if}\;t\_1 \leq -50000000000000:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq -315:\\ \;\;\;\;x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, 0.5, 0.16666666666666666 \cdot \left(y \cdot b\right)\right), y\right), y\right)}\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\ \;\;\;\;\frac{\frac{x \cdot {z}^{y}}{y}}{a}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (* (+ t -1.0) (log a))) (t_2 (/ x (* y (pow a (- 1.0 t))))))
   (if (<= t_1 -50000000000000.0)
     t_2
     (if (<= t_1 -315.0)
       (*
        x
        (/
         (/ (pow z y) a)
         (fma b (fma b (fma y 0.5 (* 0.16666666666666666 (* y b))) y) y)))
       (if (<= t_1 5e+51) (/ (/ (* x (pow z y)) y) a) t_2)))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (t + -1.0) * log(a);
	double t_2 = x / (y * pow(a, (1.0 - t)));
	double tmp;
	if (t_1 <= -50000000000000.0) {
		tmp = t_2;
	} else if (t_1 <= -315.0) {
		tmp = x * ((pow(z, y) / a) / fma(b, fma(b, fma(y, 0.5, (0.16666666666666666 * (y * b))), y), y));
	} else if (t_1 <= 5e+51) {
		tmp = ((x * pow(z, y)) / y) / a;
	} else {
		tmp = t_2;
	}
	return tmp;
}
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(t + -1.0) * log(a))
	t_2 = Float64(x / Float64(y * (a ^ Float64(1.0 - t))))
	tmp = 0.0
	if (t_1 <= -50000000000000.0)
		tmp = t_2;
	elseif (t_1 <= -315.0)
		tmp = Float64(x * Float64(Float64((z ^ y) / a) / fma(b, fma(b, fma(y, 0.5, Float64(0.16666666666666666 * Float64(y * b))), y), y)));
	elseif (t_1 <= 5e+51)
		tmp = Float64(Float64(Float64(x * (z ^ y)) / y) / a);
	else
		tmp = t_2;
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[(y * N[Power[a, N[(1.0 - t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -50000000000000.0], t$95$2, If[LessEqual[t$95$1, -315.0], N[(x * N[(N[(N[Power[z, y], $MachinePrecision] / a), $MachinePrecision] / N[(b * N[(b * N[(y * 0.5 + N[(0.16666666666666666 * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + y), $MachinePrecision] + y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 5e+51], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision] / a), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}

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

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{y}}{a}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -5e13 or 5e51 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))

    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. Step-by-step derivation
      1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot {a}^{\color{blue}{\left(1 - t\right)}}} \]
    10. Applied rewrites87.1%

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

    if -5e13 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -315

    1. Initial program 89.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.f6490.8

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, \frac{1}{2}, \frac{1}{6} \cdot \color{blue}{\left(y \cdot b\right)}\right), y\right), y\right)} \]
      10. lower-*.f6479.5

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(b, \mathsf{fma}\left(y, 0.5, 0.16666666666666666 \cdot \color{blue}{\left(y \cdot b\right)}\right), y\right), y\right)} \]
    8. Applied rewrites79.5%

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

    if -315 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < 5e51

    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 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.f6477.3

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

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

      \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      4. lower-*.f6472.7

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

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      3. associate-*r/N/A

        \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y \cdot a}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{x \cdot {z}^{y}}}{y \cdot a} \]
      5. lift-*.f64N/A

        \[\leadsto \frac{x \cdot {z}^{y}}{\color{blue}{y \cdot a}} \]
      6. associate-/r*N/A

        \[\leadsto \color{blue}{\frac{\frac{x \cdot {z}^{y}}{y}}{a}} \]
      7. div-invN/A

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
      14. lower-/.f6480.0

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
    10. Applied rewrites80.0%

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

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

Alternative 8: 75.8% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(t + -1\right) \cdot \log a\\ t_2 := \frac{x}{y \cdot {a}^{\left(1 - t\right)}}\\ \mathbf{if}\;t\_1 \leq -50000000000000:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t\_1 \leq -315:\\ \;\;\;\;x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, y \cdot b, y\right), y\right)}\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\ \;\;\;\;\frac{\frac{x \cdot {z}^{y}}{y}}{a}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (* (+ t -1.0) (log a))) (t_2 (/ x (* y (pow a (- 1.0 t))))))
   (if (<= t_1 -50000000000000.0)
     t_2
     (if (<= t_1 -315.0)
       (* x (/ (/ (pow z y) a) (fma b (fma 0.5 (* y b) y) y)))
       (if (<= t_1 5e+51) (/ (/ (* x (pow z y)) y) a) t_2)))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (t + -1.0) * log(a);
	double t_2 = x / (y * pow(a, (1.0 - t)));
	double tmp;
	if (t_1 <= -50000000000000.0) {
		tmp = t_2;
	} else if (t_1 <= -315.0) {
		tmp = x * ((pow(z, y) / a) / fma(b, fma(0.5, (y * b), y), y));
	} else if (t_1 <= 5e+51) {
		tmp = ((x * pow(z, y)) / y) / a;
	} else {
		tmp = t_2;
	}
	return tmp;
}
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(t + -1.0) * log(a))
	t_2 = Float64(x / Float64(y * (a ^ Float64(1.0 - t))))
	tmp = 0.0
	if (t_1 <= -50000000000000.0)
		tmp = t_2;
	elseif (t_1 <= -315.0)
		tmp = Float64(x * Float64(Float64((z ^ y) / a) / fma(b, fma(0.5, Float64(y * b), y), y)));
	elseif (t_1 <= 5e+51)
		tmp = Float64(Float64(Float64(x * (z ^ y)) / y) / a);
	else
		tmp = t_2;
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[(y * N[Power[a, N[(1.0 - t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -50000000000000.0], t$95$2, If[LessEqual[t$95$1, -315.0], N[(x * N[(N[(N[Power[z, y], $MachinePrecision] / a), $MachinePrecision] / N[(b * N[(0.5 * N[(y * b), $MachinePrecision] + y), $MachinePrecision] + y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 5e+51], N[(N[(N[(x * N[Power[z, y], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision] / a), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}

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

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{y}}{a}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -5e13 or 5e51 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))

    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. Step-by-step derivation
      1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot {a}^{\color{blue}{\left(1 - t\right)}}} \]
    10. Applied rewrites87.1%

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

    if -5e13 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -315

    1. Initial program 89.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.f6490.8

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

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6477.4

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites77.4%

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

    if -315 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < 5e51

    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 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.f6477.3

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

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

      \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      4. lower-*.f6472.7

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

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      3. associate-*r/N/A

        \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y \cdot a}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{x \cdot {z}^{y}}}{y \cdot a} \]
      5. lift-*.f64N/A

        \[\leadsto \frac{x \cdot {z}^{y}}{\color{blue}{y \cdot a}} \]
      6. associate-/r*N/A

        \[\leadsto \color{blue}{\frac{\frac{x \cdot {z}^{y}}{y}}{a}} \]
      7. div-invN/A

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
      14. lower-/.f6480.0

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
    10. Applied rewrites80.0%

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

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

Alternative 9: 75.5% accurate, 0.9× speedup?

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

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{y}}{a}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -2e12 or 5e51 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))

    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. Step-by-step derivation
      1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot {a}^{\color{blue}{\left(1 - t\right)}}} \]
    10. Applied rewrites87.2%

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

    if -2e12 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < 5e51

    1. Initial program 95.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 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.f6481.6

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

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

      \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      4. lower-*.f6467.3

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
    8. Applied rewrites67.3%

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      3. associate-*r/N/A

        \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y \cdot a}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{x \cdot {z}^{y}}}{y \cdot a} \]
      5. lift-*.f64N/A

        \[\leadsto \frac{x \cdot {z}^{y}}{\color{blue}{y \cdot a}} \]
      6. associate-/r*N/A

        \[\leadsto \color{blue}{\frac{\frac{x \cdot {z}^{y}}{y}}{a}} \]
      7. div-invN/A

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
      14. lower-/.f6475.7

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{y}}}{a} \]
    10. Applied rewrites75.7%

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

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

Alternative 10: 75.3% accurate, 0.9× speedup?

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

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;\frac{\frac{x \cdot {z}^{y}}{a}}{y}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < -2e12 or 5e51 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a))

    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. Step-by-step derivation
      1. lift-log.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot {a}^{\color{blue}{\left(1 - t\right)}}} \]
    10. Applied rewrites87.2%

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

    if -2e12 < (*.f64 (-.f64 t #s(literal 1 binary64)) (log.f64 a)) < 5e51

    1. Initial program 95.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 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.f6481.6

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

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

      \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      4. lower-*.f6467.3

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
    8. Applied rewrites67.3%

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      3. associate-*r/N/A

        \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y \cdot a}} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{x \cdot {z}^{y}}{\color{blue}{y \cdot a}} \]
      5. lift-*.f64N/A

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

        \[\leadsto \frac{x \cdot {z}^{y}}{\color{blue}{a \cdot y}} \]
      7. associate-/r*N/A

        \[\leadsto \color{blue}{\frac{\frac{x \cdot {z}^{y}}{a}}{y}} \]
      8. lift-*.f64N/A

        \[\leadsto \frac{\frac{\color{blue}{x \cdot {z}^{y}}}{a}}{y} \]
      9. associate-*r/N/A

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

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

        \[\leadsto \color{blue}{\frac{x \cdot \frac{{z}^{y}}{a}}{y}} \]
      12. lift-/.f64N/A

        \[\leadsto \frac{x \cdot \color{blue}{\frac{{z}^{y}}{a}}}{y} \]
      13. associate-*r/N/A

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{a}}}{y} \]
      14. lift-*.f64N/A

        \[\leadsto \frac{\frac{\color{blue}{x \cdot {z}^{y}}}{a}}{y} \]
      15. lower-/.f6475.1

        \[\leadsto \frac{\color{blue}{\frac{x \cdot {z}^{y}}{a}}}{y} \]
    10. Applied rewrites75.1%

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

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

Alternative 11: 92.9% 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^{+47}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 0.106:\\ \;\;\;\;\frac{x}{y \cdot e^{b - \left(t + -1\right) \cdot \log 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 -3.5e+47)
     t_1
     (if (<= y 0.106) (/ x (* y (exp (- b (* (+ t -1.0) (log 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 <= -3.5e+47) {
		tmp = t_1;
	} else if (y <= 0.106) {
		tmp = x / (y * exp((b - ((t + -1.0) * log(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 <= (-3.5d+47)) then
        tmp = t_1
    else if (y <= 0.106d0) then
        tmp = x / (y * exp((b - ((t + (-1.0d0)) * log(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 <= -3.5e+47) {
		tmp = t_1;
	} else if (y <= 0.106) {
		tmp = x / (y * Math.exp((b - ((t + -1.0) * Math.log(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 <= -3.5e+47:
		tmp = t_1
	elif y <= 0.106:
		tmp = x / (y * math.exp((b - ((t + -1.0) * math.log(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 <= -3.5e+47)
		tmp = t_1;
	elseif (y <= 0.106)
		tmp = Float64(x / Float64(y * exp(Float64(b - Float64(Float64(t + -1.0) * log(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 <= -3.5e+47)
		tmp = t_1;
	elseif (y <= 0.106)
		tmp = x / (y * exp((b - ((t + -1.0) * log(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, -3.5e+47], t$95$1, If[LessEqual[y, 0.106], N[(x / N[(y * N[Exp[N[(b - N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $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^{+47}:\\
\;\;\;\;t\_1\\

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -3.50000000000000015e47 or 0.105999999999999997 < 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.f6491.3

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

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

    if -3.50000000000000015e47 < y < 0.105999999999999997

    1. Initial program 94.1%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\mathsf{neg}\left(\left(\mathsf{neg}\left(x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}\right)\right)\right)}}{y} \]
    4. Applied rewrites95.3%

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

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

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

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

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

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

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

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

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

Alternative 12: 81.2% 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 -50:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 0.036:\\ \;\;\;\;\frac{x}{y \cdot {a}^{\left(1 - t\right)}}\\ \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 -50.0) t_1 (if (<= y 0.036) (/ x (* y (pow a (- 1.0 t)))) 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 <= -50.0) {
		tmp = t_1;
	} else if (y <= 0.036) {
		tmp = x / (y * pow(a, (1.0 - t)));
	} 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 <= (-50.0d0)) then
        tmp = t_1
    else if (y <= 0.036d0) then
        tmp = x / (y * (a ** (1.0d0 - t)))
    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 <= -50.0) {
		tmp = t_1;
	} else if (y <= 0.036) {
		tmp = x / (y * Math.pow(a, (1.0 - t)));
	} 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 <= -50.0:
		tmp = t_1
	elif y <= 0.036:
		tmp = x / (y * math.pow(a, (1.0 - t)))
	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 <= -50.0)
		tmp = t_1;
	elseif (y <= 0.036)
		tmp = Float64(x / Float64(y * (a ^ Float64(1.0 - t))));
	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 <= -50.0)
		tmp = t_1;
	elseif (y <= 0.036)
		tmp = x / (y * (a ^ (1.0 - t)));
	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, -50.0], t$95$1, If[LessEqual[y, 0.036], N[(x / N[(y * N[Power[a, N[(1.0 - t), $MachinePrecision]], $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 -50:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;y \leq 0.036:\\
\;\;\;\;\frac{x}{y \cdot {a}^{\left(1 - t\right)}}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -50 or 0.0359999999999999973 < 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.f6491.6

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

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

    if -50 < y < 0.0359999999999999973

    1. Initial program 93.9%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\mathsf{neg}\left(\left(\mathsf{neg}\left(x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}\right)\right)\right)}}{y} \]
    4. Applied rewrites95.1%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

Alternative 13: 73.0% accurate, 2.5× speedup?

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

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

\mathbf{elif}\;y \leq 0.65:\\
\;\;\;\;\frac{x}{y \cdot {a}^{\left(1 - t\right)}}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -1.9499999999999999e143 or 0.650000000000000022 < 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} \]
    6. Taylor expanded in b around 0

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

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

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

        \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
      4. lower-pow.f6485.8

        \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
    8. Applied rewrites85.8%

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

    if -1.9499999999999999e143 < y < 0.650000000000000022

    1. Initial program 95.2%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{y \cdot e^{\mathsf{neg}\left(\log a \cdot \left(t - 1\right)\right)}}} \]
      3. distribute-rgt-neg-inN/A

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot {a}^{\color{blue}{\left(1 - t\right)}}} \]
    10. Applied rewrites73.8%

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

Alternative 14: 69.9% accurate, 2.5× speedup?

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

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

\mathbf{elif}\;y \leq 0.65:\\
\;\;\;\;{a}^{\left(t + -1\right)} \cdot \frac{x}{y}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -1.51999999999999996e143 or 0.650000000000000022 < 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} \]
    6. Taylor expanded in b around 0

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

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

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

        \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
      4. lower-pow.f6485.8

        \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
    8. Applied rewrites85.8%

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

    if -1.51999999999999996e143 < y < 0.650000000000000022

    1. Initial program 95.2%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto {a}^{\left(-1 + t\right)} \cdot \color{blue}{\frac{x}{y}} \]
      10. lower-*.f6468.9

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

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

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

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

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

Alternative 15: 61.7% accurate, 2.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x \cdot \frac{{z}^{y}}{y}\\ \mathbf{if}\;y \leq -1.66 \cdot 10^{+44}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 0.65:\\ \;\;\;\;\frac{x}{\frac{1}{\frac{1}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)}}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (* x (/ (pow z y) y))))
   (if (<= y -1.66e+44)
     t_1
     (if (<= y 0.65)
       (/ x (/ 1.0 (/ 1.0 (* y (fma a (fma b (* b 0.5) 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);
	double tmp;
	if (y <= -1.66e+44) {
		tmp = t_1;
	} else if (y <= 0.65) {
		tmp = x / (1.0 / (1.0 / (y * fma(a, fma(b, (b * 0.5), b), a))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
function code(x, y, z, t, a, b)
	t_1 = Float64(x * Float64((z ^ y) / y))
	tmp = 0.0
	if (y <= -1.66e+44)
		tmp = t_1;
	elseif (y <= 0.65)
		tmp = Float64(x / Float64(1.0 / Float64(1.0 / Float64(y * fma(a, fma(b, Float64(b * 0.5), b), a)))));
	else
		tmp = t_1;
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.66e+44], t$95$1, If[LessEqual[y, 0.65], N[(x / N[(1.0 / N[(1.0 / N[(y * N[(a * N[(b * N[(b * 0.5), $MachinePrecision] + b), $MachinePrecision] + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -1.65999999999999992e44 or 0.650000000000000022 < 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.f6491.3

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

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

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

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

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

        \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
      4. lower-pow.f6481.8

        \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
    8. Applied rewrites81.8%

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

    if -1.65999999999999992e44 < y < 0.650000000000000022

    1. Initial program 94.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 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 b around 0

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6446.2

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites46.2%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites50.9%

      \[\leadsto \color{blue}{\frac{x}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)}} \]
    12. Step-by-step derivation
      1. lift-*.f64N/A

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

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

        \[\leadsto \frac{x}{y \cdot \color{blue}{\mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}} \]
      4. lift-*.f6450.9

        \[\leadsto \frac{x}{\color{blue}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)}} \]
      5. /-rgt-identityN/A

        \[\leadsto \frac{x}{\color{blue}{\frac{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}{1}}} \]
      6. clear-numN/A

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

        \[\leadsto \frac{x}{\color{blue}{\frac{1}{\frac{1}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot \frac{1}{2}, b\right), a\right)}}}} \]
      8. lower-/.f6451.7

        \[\leadsto \frac{x}{\frac{1}{\color{blue}{\frac{1}{y \cdot \mathsf{fma}\left(a, \mathsf{fma}\left(b, b \cdot 0.5, b\right), a\right)}}}} \]
    13. Applied rewrites51.7%

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

Alternative 16: 35.7% accurate, 2.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\log a \leq -42:\\ \;\;\;\;\frac{\frac{x}{a}}{y}\\ \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) -42.0) (/ (/ x a) y) (/ 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) <= -42.0) {
		tmp = (x / a) / y;
	} else {
		tmp = x / (y * fma(a, b, a));
	}
	return tmp;
}
function code(x, y, z, t, a, b)
	tmp = 0.0
	if (log(a) <= -42.0)
		tmp = Float64(Float64(x / a) / y);
	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], -42.0], N[(N[(x / a), $MachinePrecision] / y), $MachinePrecision], N[(x / N[(y * N[(a * b + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\log a \leq -42:\\
\;\;\;\;\frac{\frac{x}{a}}{y}\\

\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) < -42

    1. Initial program 99.6%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{x}{a}}}{y} \]
    10. Step-by-step derivation
      1. lower-/.f6430.4

        \[\leadsto \frac{\color{blue}{\frac{x}{a}}}{y} \]
    11. Applied rewrites30.4%

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

    if -42 < (log.f64 a)

    1. Initial program 95.1%

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

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

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

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

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

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

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
      6. lower-*.f6465.5

        \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
    8. Applied rewrites65.5%

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

      \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
    10. Step-by-step derivation
      1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
    11. Applied rewrites44.5%

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

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

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

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

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

        \[\leadsto \frac{x}{y \cdot \color{blue}{\left(a \cdot b + a\right)}} \]
      5. lower-fma.f6441.5

        \[\leadsto \frac{x}{y \cdot \color{blue}{\mathsf{fma}\left(a, b, a\right)}} \]
    14. Applied rewrites41.5%

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

Alternative 17: 34.7% accurate, 2.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\log a \leq -42:\\ \;\;\;\;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) -42.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) <= -42.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) <= -42.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], -42.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 -42:\\
\;\;\;\;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) < -42

    1. Initial program 99.6%

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \]
    2. Add Preprocessing
    3. Taylor expanded in 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.f6464.6

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

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

      \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

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

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

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      4. lower-*.f6460.9

        \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
    8. Applied rewrites60.9%

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

      \[\leadsto x \cdot \frac{\color{blue}{1}}{y \cdot a} \]
    10. Step-by-step derivation
      1. Applied rewrites26.9%

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

      if -42 < (log.f64 a)

      1. Initial program 95.1%

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

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

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

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

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

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

          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
        6. lower-*.f6465.5

          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
      8. Applied rewrites65.5%

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

        \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
      10. Step-by-step derivation
        1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
      11. Applied rewrites44.5%

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

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

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

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

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

          \[\leadsto \frac{x}{y \cdot \color{blue}{\left(a \cdot b + a\right)}} \]
        5. lower-fma.f6441.5

          \[\leadsto \frac{x}{y \cdot \color{blue}{\mathsf{fma}\left(a, b, a\right)}} \]
      14. Applied rewrites41.5%

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

    Alternative 18: 44.6% accurate, 8.8× speedup?

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

      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 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.f6467.9

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

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

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

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

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

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

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

          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
        6. lower-*.f6452.8

          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
      8. Applied rewrites52.8%

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

        \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
      10. Step-by-step derivation
        1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
      11. Applied rewrites35.0%

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

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

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

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

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

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

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

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

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

          \[\leadsto \left(\left(\mathsf{neg}\left(b\right)\right) + 1\right) \cdot \color{blue}{\frac{x}{a \cdot y}} \]
        9. lower-*.f6443.0

          \[\leadsto \left(\left(-b\right) + 1\right) \cdot \frac{x}{\color{blue}{a \cdot y}} \]
      14. Applied rewrites43.0%

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

      if -1.6500000000000001e-173 < b

      1. Initial program 97.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.f6467.9

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

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

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

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

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

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

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

          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(\frac{1}{2}, \color{blue}{y \cdot b}, y\right), y\right)} \]
        6. lower-*.f6461.2

          \[\leadsto x \cdot \frac{\frac{{z}^{y}}{a}}{\mathsf{fma}\left(b, \mathsf{fma}\left(0.5, \color{blue}{y \cdot b}, y\right), y\right)} \]
      8. Applied rewrites61.2%

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

        \[\leadsto \color{blue}{\frac{x}{a \cdot \left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)}} \]
      10. Step-by-step derivation
        1. distribute-rgt-inN/A

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

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{x}{\color{blue}{\left(y \cdot \left(1 + b \cdot \left(1 + \frac{1}{2} \cdot b\right)\right)\right)} \cdot a} \]
      11. Applied rewrites40.4%

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

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

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

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

          \[\leadsto \frac{x}{y \cdot \left(\frac{1}{2} \cdot \left(a \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)} \]
        4. lower-*.f6446.2

          \[\leadsto \frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \color{blue}{\left(b \cdot b\right)}\right)\right)} \]
      14. Applied rewrites46.2%

        \[\leadsto \frac{x}{y \cdot \color{blue}{\left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}} \]
    3. Recombined 2 regimes into one program.
    4. Final simplification44.9%

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \leq -1.65 \cdot 10^{-173}:\\ \;\;\;\;\left(1 - b\right) \cdot \frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot \left(0.5 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)}\\ \end{array} \]
    5. Add Preprocessing

    Alternative 19: 31.4% accurate, 10.5× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;x \cdot \frac{1}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{y}{x}}\\ \end{array} \end{array} \]
    (FPCore (x y z t a b)
     :precision binary64
     (if (<= (+ t -1.0) 3.3e+87) (* x (/ 1.0 (* y a))) (/ 1.0 (/ y x))))
    double code(double x, double y, double z, double t, double a, double b) {
    	double tmp;
    	if ((t + -1.0) <= 3.3e+87) {
    		tmp = x * (1.0 / (y * a));
    	} else {
    		tmp = 1.0 / (y / x);
    	}
    	return tmp;
    }
    
    real(8) function code(x, y, z, t, a, b)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        real(8), intent (in) :: z
        real(8), intent (in) :: t
        real(8), intent (in) :: a
        real(8), intent (in) :: b
        real(8) :: tmp
        if ((t + (-1.0d0)) <= 3.3d+87) then
            tmp = x * (1.0d0 / (y * a))
        else
            tmp = 1.0d0 / (y / x)
        end if
        code = tmp
    end function
    
    public static double code(double x, double y, double z, double t, double a, double b) {
    	double tmp;
    	if ((t + -1.0) <= 3.3e+87) {
    		tmp = x * (1.0 / (y * a));
    	} else {
    		tmp = 1.0 / (y / x);
    	}
    	return tmp;
    }
    
    def code(x, y, z, t, a, b):
    	tmp = 0
    	if (t + -1.0) <= 3.3e+87:
    		tmp = x * (1.0 / (y * a))
    	else:
    		tmp = 1.0 / (y / x)
    	return tmp
    
    function code(x, y, z, t, a, b)
    	tmp = 0.0
    	if (Float64(t + -1.0) <= 3.3e+87)
    		tmp = Float64(x * Float64(1.0 / Float64(y * a)));
    	else
    		tmp = Float64(1.0 / Float64(y / x));
    	end
    	return tmp
    end
    
    function tmp_2 = code(x, y, z, t, a, b)
    	tmp = 0.0;
    	if ((t + -1.0) <= 3.3e+87)
    		tmp = x * (1.0 / (y * a));
    	else
    		tmp = 1.0 / (y / x);
    	end
    	tmp_2 = tmp;
    end
    
    code[x_, y_, z_, t_, a_, b_] := If[LessEqual[N[(t + -1.0), $MachinePrecision], 3.3e+87], N[(x * N[(1.0 / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 / N[(y / x), $MachinePrecision]), $MachinePrecision]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\
    \;\;\;\;x \cdot \frac{1}{y \cdot a}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{1}{\frac{y}{x}}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (-.f64 t #s(literal 1 binary64)) < 3.3000000000000001e87

      1. Initial program 96.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.f6472.6

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

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

        \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
      7. Step-by-step derivation
        1. lower-/.f64N/A

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

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

          \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
        4. lower-*.f6462.6

          \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
      8. Applied rewrites62.6%

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

        \[\leadsto x \cdot \frac{\color{blue}{1}}{y \cdot a} \]
      10. Step-by-step derivation
        1. Applied rewrites35.7%

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

        if 3.3000000000000001e87 < (-.f64 t #s(literal 1 binary64))

        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.f6457.6

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

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

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

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

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

            \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
          4. lower-pow.f6442.8

            \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
        8. Applied rewrites42.8%

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

          \[\leadsto \color{blue}{\frac{x}{y}} \]
        10. Step-by-step derivation
          1. lower-/.f6420.8

            \[\leadsto \color{blue}{\frac{x}{y}} \]
        11. Applied rewrites20.8%

          \[\leadsto \color{blue}{\frac{x}{y}} \]
        12. Step-by-step derivation
          1. clear-numN/A

            \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \]
          2. lower-/.f64N/A

            \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \]
          3. lower-/.f6422.0

            \[\leadsto \frac{1}{\color{blue}{\frac{y}{x}}} \]
        13. Applied rewrites22.0%

          \[\leadsto \color{blue}{\frac{1}{\frac{y}{x}}} \]
      11. Recombined 2 regimes into one program.
      12. Final simplification33.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;x \cdot \frac{1}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{y}{x}}\\ \end{array} \]
      13. Add Preprocessing

      Alternative 20: 31.3% accurate, 10.8× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;x \cdot \frac{1}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y}\\ \end{array} \end{array} \]
      (FPCore (x y z t a b)
       :precision binary64
       (if (<= (+ t -1.0) 3.3e+87) (* x (/ 1.0 (* y a))) (/ x y)))
      double code(double x, double y, double z, double t, double a, double b) {
      	double tmp;
      	if ((t + -1.0) <= 3.3e+87) {
      		tmp = x * (1.0 / (y * a));
      	} else {
      		tmp = x / y;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y, z, t, a, b)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8), intent (in) :: z
          real(8), intent (in) :: t
          real(8), intent (in) :: a
          real(8), intent (in) :: b
          real(8) :: tmp
          if ((t + (-1.0d0)) <= 3.3d+87) then
              tmp = x * (1.0d0 / (y * a))
          else
              tmp = x / y
          end if
          code = tmp
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	double tmp;
      	if ((t + -1.0) <= 3.3e+87) {
      		tmp = x * (1.0 / (y * a));
      	} else {
      		tmp = x / y;
      	}
      	return tmp;
      }
      
      def code(x, y, z, t, a, b):
      	tmp = 0
      	if (t + -1.0) <= 3.3e+87:
      		tmp = x * (1.0 / (y * a))
      	else:
      		tmp = x / y
      	return tmp
      
      function code(x, y, z, t, a, b)
      	tmp = 0.0
      	if (Float64(t + -1.0) <= 3.3e+87)
      		tmp = Float64(x * Float64(1.0 / Float64(y * a)));
      	else
      		tmp = Float64(x / y);
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y, z, t, a, b)
      	tmp = 0.0;
      	if ((t + -1.0) <= 3.3e+87)
      		tmp = x * (1.0 / (y * a));
      	else
      		tmp = x / y;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_, z_, t_, a_, b_] := If[LessEqual[N[(t + -1.0), $MachinePrecision], 3.3e+87], N[(x * N[(1.0 / N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / y), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\
      \;\;\;\;x \cdot \frac{1}{y \cdot a}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{x}{y}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if (-.f64 t #s(literal 1 binary64)) < 3.3000000000000001e87

        1. Initial program 96.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.f6472.6

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

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

          \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
        7. Step-by-step derivation
          1. lower-/.f64N/A

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

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

            \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
          4. lower-*.f6462.6

            \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
        8. Applied rewrites62.6%

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

          \[\leadsto x \cdot \frac{\color{blue}{1}}{y \cdot a} \]
        10. Step-by-step derivation
          1. Applied rewrites35.7%

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

          if 3.3000000000000001e87 < (-.f64 t #s(literal 1 binary64))

          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.f6457.6

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

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

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

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

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

              \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
            4. lower-pow.f6442.8

              \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
          8. Applied rewrites42.8%

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

            \[\leadsto \color{blue}{\frac{x}{y}} \]
          10. Step-by-step derivation
            1. lower-/.f6420.8

              \[\leadsto \color{blue}{\frac{x}{y}} \]
          11. Applied rewrites20.8%

            \[\leadsto \color{blue}{\frac{x}{y}} \]
        11. Recombined 2 regimes into one program.
        12. Final simplification33.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;x \cdot \frac{1}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y}\\ \end{array} \]
        13. Add Preprocessing

        Alternative 21: 31.3% accurate, 12.9× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y}\\ \end{array} \end{array} \]
        (FPCore (x y z t a b)
         :precision binary64
         (if (<= (+ t -1.0) 3.3e+87) (/ x (* y a)) (/ x y)))
        double code(double x, double y, double z, double t, double a, double b) {
        	double tmp;
        	if ((t + -1.0) <= 3.3e+87) {
        		tmp = x / (y * a);
        	} else {
        		tmp = x / y;
        	}
        	return tmp;
        }
        
        real(8) function code(x, y, z, t, a, b)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8), intent (in) :: z
            real(8), intent (in) :: t
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8) :: tmp
            if ((t + (-1.0d0)) <= 3.3d+87) then
                tmp = x / (y * a)
            else
                tmp = x / y
            end if
            code = tmp
        end function
        
        public static double code(double x, double y, double z, double t, double a, double b) {
        	double tmp;
        	if ((t + -1.0) <= 3.3e+87) {
        		tmp = x / (y * a);
        	} else {
        		tmp = x / y;
        	}
        	return tmp;
        }
        
        def code(x, y, z, t, a, b):
        	tmp = 0
        	if (t + -1.0) <= 3.3e+87:
        		tmp = x / (y * a)
        	else:
        		tmp = x / y
        	return tmp
        
        function code(x, y, z, t, a, b)
        	tmp = 0.0
        	if (Float64(t + -1.0) <= 3.3e+87)
        		tmp = Float64(x / Float64(y * a));
        	else
        		tmp = Float64(x / y);
        	end
        	return tmp
        end
        
        function tmp_2 = code(x, y, z, t, a, b)
        	tmp = 0.0;
        	if ((t + -1.0) <= 3.3e+87)
        		tmp = x / (y * a);
        	else
        		tmp = x / y;
        	end
        	tmp_2 = tmp;
        end
        
        code[x_, y_, z_, t_, a_, b_] := If[LessEqual[N[(t + -1.0), $MachinePrecision], 3.3e+87], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], N[(x / y), $MachinePrecision]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\
        \;\;\;\;\frac{x}{y \cdot a}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{x}{y}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if (-.f64 t #s(literal 1 binary64)) < 3.3000000000000001e87

          1. Initial program 96.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.f6472.6

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

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

            \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{a \cdot y}} \]
          7. Step-by-step derivation
            1. lower-/.f64N/A

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

              \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{a \cdot y} \]
            3. *-commutativeN/A

              \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
            4. lower-*.f6462.6

              \[\leadsto x \cdot \frac{{z}^{y}}{\color{blue}{y \cdot a}} \]
          8. Applied rewrites62.6%

            \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y \cdot a}} \]
          9. Taylor expanded in y around 0

            \[\leadsto \color{blue}{\frac{x}{a \cdot y}} \]
          10. Step-by-step derivation
            1. lower-/.f64N/A

              \[\leadsto \color{blue}{\frac{x}{a \cdot y}} \]
            2. lower-*.f6435.2

              \[\leadsto \frac{x}{\color{blue}{a \cdot y}} \]
          11. Applied rewrites35.2%

            \[\leadsto \color{blue}{\frac{x}{a \cdot y}} \]

          if 3.3000000000000001e87 < (-.f64 t #s(literal 1 binary64))

          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.f6457.6

              \[\leadsto \frac{x \cdot e^{y \cdot \color{blue}{\log z} - b}}{y} \]
          5. Applied rewrites57.6%

            \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
          6. Taylor expanded in b around 0

            \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y}} \]
          7. Step-by-step derivation
            1. associate-/l*N/A

              \[\leadsto \color{blue}{x \cdot \frac{{z}^{y}}{y}} \]
            2. lower-*.f64N/A

              \[\leadsto \color{blue}{x \cdot \frac{{z}^{y}}{y}} \]
            3. lower-/.f64N/A

              \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
            4. lower-pow.f6442.8

              \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
          8. Applied rewrites42.8%

            \[\leadsto \color{blue}{x \cdot \frac{{z}^{y}}{y}} \]
          9. Taylor expanded in y around 0

            \[\leadsto \color{blue}{\frac{x}{y}} \]
          10. Step-by-step derivation
            1. lower-/.f6420.8

              \[\leadsto \color{blue}{\frac{x}{y}} \]
          11. Applied rewrites20.8%

            \[\leadsto \color{blue}{\frac{x}{y}} \]
        3. Recombined 2 regimes into one program.
        4. Final simplification32.6%

          \[\leadsto \begin{array}{l} \mathbf{if}\;t + -1 \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;\frac{x}{y \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y}\\ \end{array} \]
        5. Add Preprocessing

        Alternative 22: 16.0% accurate, 28.0× speedup?

        \[\begin{array}{l} \\ \frac{x}{y} \end{array} \]
        (FPCore (x y z t a b) :precision binary64 (/ x y))
        double code(double x, double y, double z, double t, double a, double b) {
        	return x / y;
        }
        
        real(8) function code(x, y, z, t, a, b)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8), intent (in) :: z
            real(8), intent (in) :: t
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            code = x / y
        end function
        
        public static double code(double x, double y, double z, double t, double a, double b) {
        	return x / y;
        }
        
        def code(x, y, z, t, a, b):
        	return x / y
        
        function code(x, y, z, t, a, b)
        	return Float64(x / y)
        end
        
        function tmp = code(x, y, z, t, a, b)
        	tmp = x / y;
        end
        
        code[x_, y_, z_, t_, a_, b_] := N[(x / y), $MachinePrecision]
        
        \begin{array}{l}
        
        \\
        \frac{x}{y}
        \end{array}
        
        Derivation
        1. Initial program 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 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.f6470.7

            \[\leadsto \frac{x \cdot e^{y \cdot \color{blue}{\log z} - b}}{y} \]
        5. Applied rewrites70.7%

          \[\leadsto \frac{x \cdot e^{\color{blue}{y \cdot \log z} - b}}{y} \]
        6. Taylor expanded in b around 0

          \[\leadsto \color{blue}{\frac{x \cdot {z}^{y}}{y}} \]
        7. Step-by-step derivation
          1. associate-/l*N/A

            \[\leadsto \color{blue}{x \cdot \frac{{z}^{y}}{y}} \]
          2. lower-*.f64N/A

            \[\leadsto \color{blue}{x \cdot \frac{{z}^{y}}{y}} \]
          3. lower-/.f64N/A

            \[\leadsto x \cdot \color{blue}{\frac{{z}^{y}}{y}} \]
          4. lower-pow.f6451.4

            \[\leadsto x \cdot \frac{\color{blue}{{z}^{y}}}{y} \]
        8. Applied rewrites51.4%

          \[\leadsto \color{blue}{x \cdot \frac{{z}^{y}}{y}} \]
        9. Taylor expanded in y around 0

          \[\leadsto \color{blue}{\frac{x}{y}} \]
        10. Step-by-step derivation
          1. lower-/.f6415.0

            \[\leadsto \color{blue}{\frac{x}{y}} \]
        11. Applied rewrites15.0%

          \[\leadsto \color{blue}{\frac{x}{y}} \]
        12. Add Preprocessing

        Developer Target 1: 71.4% accurate, 1.0× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_1 := {a}^{\left(t - 1\right)}\\ t_2 := \frac{x \cdot \frac{t\_1}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \mathbf{if}\;t < -0.8845848504127471:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t < 852031.2288374073:\\ \;\;\;\;\frac{\frac{x}{y} \cdot t\_1}{e^{b - \log z \cdot y}}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
        (FPCore (x y z t a b)
         :precision binary64
         (let* ((t_1 (pow a (- t 1.0)))
                (t_2 (/ (* x (/ t_1 y)) (- (+ b 1.0) (* y (log z))))))
           (if (< t -0.8845848504127471)
             t_2
             (if (< t 852031.2288374073)
               (/ (* (/ x y) t_1) (exp (- b (* (log z) y))))
               t_2))))
        double code(double x, double y, double z, double t, double a, double b) {
        	double t_1 = pow(a, (t - 1.0));
        	double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z)));
        	double tmp;
        	if (t < -0.8845848504127471) {
        		tmp = t_2;
        	} else if (t < 852031.2288374073) {
        		tmp = ((x / y) * t_1) / exp((b - (log(z) * y)));
        	} else {
        		tmp = t_2;
        	}
        	return tmp;
        }
        
        real(8) function code(x, y, z, t, a, b)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8), intent (in) :: z
            real(8), intent (in) :: t
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8) :: t_1
            real(8) :: t_2
            real(8) :: tmp
            t_1 = a ** (t - 1.0d0)
            t_2 = (x * (t_1 / y)) / ((b + 1.0d0) - (y * log(z)))
            if (t < (-0.8845848504127471d0)) then
                tmp = t_2
            else if (t < 852031.2288374073d0) then
                tmp = ((x / y) * t_1) / exp((b - (log(z) * y)))
            else
                tmp = t_2
            end if
            code = tmp
        end function
        
        public static double code(double x, double y, double z, double t, double a, double b) {
        	double t_1 = Math.pow(a, (t - 1.0));
        	double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * Math.log(z)));
        	double tmp;
        	if (t < -0.8845848504127471) {
        		tmp = t_2;
        	} else if (t < 852031.2288374073) {
        		tmp = ((x / y) * t_1) / Math.exp((b - (Math.log(z) * y)));
        	} else {
        		tmp = t_2;
        	}
        	return tmp;
        }
        
        def code(x, y, z, t, a, b):
        	t_1 = math.pow(a, (t - 1.0))
        	t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * math.log(z)))
        	tmp = 0
        	if t < -0.8845848504127471:
        		tmp = t_2
        	elif t < 852031.2288374073:
        		tmp = ((x / y) * t_1) / math.exp((b - (math.log(z) * y)))
        	else:
        		tmp = t_2
        	return tmp
        
        function code(x, y, z, t, a, b)
        	t_1 = a ^ Float64(t - 1.0)
        	t_2 = Float64(Float64(x * Float64(t_1 / y)) / Float64(Float64(b + 1.0) - Float64(y * log(z))))
        	tmp = 0.0
        	if (t < -0.8845848504127471)
        		tmp = t_2;
        	elseif (t < 852031.2288374073)
        		tmp = Float64(Float64(Float64(x / y) * t_1) / exp(Float64(b - Float64(log(z) * y))));
        	else
        		tmp = t_2;
        	end
        	return tmp
        end
        
        function tmp_2 = code(x, y, z, t, a, b)
        	t_1 = a ^ (t - 1.0);
        	t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z)));
        	tmp = 0.0;
        	if (t < -0.8845848504127471)
        		tmp = t_2;
        	elseif (t < 852031.2288374073)
        		tmp = ((x / y) * t_1) / exp((b - (log(z) * y)));
        	else
        		tmp = t_2;
        	end
        	tmp_2 = tmp;
        end
        
        code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Power[a, N[(t - 1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision] / N[(N[(b + 1.0), $MachinePrecision] - N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -0.8845848504127471], t$95$2, If[Less[t, 852031.2288374073], N[(N[(N[(x / y), $MachinePrecision] * t$95$1), $MachinePrecision] / N[Exp[N[(b - N[(N[Log[z], $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$2]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_1 := {a}^{\left(t - 1\right)}\\
        t_2 := \frac{x \cdot \frac{t\_1}{y}}{\left(b + 1\right) - y \cdot \log z}\\
        \mathbf{if}\;t < -0.8845848504127471:\\
        \;\;\;\;t\_2\\
        
        \mathbf{elif}\;t < 852031.2288374073:\\
        \;\;\;\;\frac{\frac{x}{y} \cdot t\_1}{e^{b - \log z \cdot y}}\\
        
        \mathbf{else}:\\
        \;\;\;\;t\_2\\
        
        
        \end{array}
        \end{array}
        

        Reproduce

        ?
        herbie shell --seed 2024219 
        (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))