?

Average Error: 1.9 → 1.7
Time: 2.2min
Precision: binary64
Cost: 52224

?

\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \]
\[\frac{\frac{\frac{x}{\frac{\sqrt[3]{y}}{e^{\mathsf{fma}\left(y, \log z, \mathsf{fma}\left(-1 + t, \log a, -b\right)\right)}}}}{\sqrt[3]{y}}}{\sqrt[3]{y}} \]
(FPCore (x y z t a b)
 :precision binary64
 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
(FPCore (x y z t a b)
 :precision binary64
 (/
  (/
   (/ x (/ (cbrt y) (exp (fma y (log z) (fma (+ -1.0 t) (log a) (- b))))))
   (cbrt y))
  (cbrt 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;
}
double code(double x, double y, double z, double t, double a, double b) {
	return ((x / (cbrt(y) / exp(fma(y, log(z), fma((-1.0 + t), log(a), -b))))) / cbrt(y)) / cbrt(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 code(x, y, z, t, a, b)
	return Float64(Float64(Float64(x / Float64(cbrt(y) / exp(fma(y, log(z), fma(Float64(-1.0 + t), log(a), Float64(-b)))))) / cbrt(y)) / cbrt(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]
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(x / N[(N[Power[y, 1/3], $MachinePrecision] / N[Exp[N[(y * N[Log[z], $MachinePrecision] + N[(N[(-1.0 + t), $MachinePrecision] * N[Log[a], $MachinePrecision] + (-b)), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[y, 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[y, 1/3], $MachinePrecision]), $MachinePrecision]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{\frac{\frac{x}{\frac{\sqrt[3]{y}}{e^{\mathsf{fma}\left(y, \log z, \mathsf{fma}\left(-1 + t, \log a, -b\right)\right)}}}}{\sqrt[3]{y}}}{\sqrt[3]{y}}

Error?

Target

Original1.9
Target10.5
Herbie1.7
\[\begin{array}{l} \mathbf{if}\;t < -0.8845848504127471:\\ \;\;\;\;\frac{x \cdot \frac{{a}^{\left(t - 1\right)}}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \mathbf{elif}\;t < 852031.2288374073:\\ \;\;\;\;\frac{\frac{x}{y} \cdot {a}^{\left(t - 1\right)}}{e^{b - \log z \cdot y}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot \frac{{a}^{\left(t - 1\right)}}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \end{array} \]

Derivation?

  1. Initial program 1.9

    \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \]
  2. Simplified7.5

    \[\leadsto \color{blue}{e^{\mathsf{fma}\left(y, \log z, \mathsf{fma}\left(-1 + t, \log a, -b\right)\right)} \cdot \frac{x}{y}} \]
    Proof
  3. Applied egg-rr1.7

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

Alternatives

Alternative 1
Error2.0
Cost32768
\[\frac{x}{\frac{y}{e^{\mathsf{fma}\left(y, \log z, \mathsf{fma}\left(-1 + t, \log a, -b\right)\right)}}} \]
Alternative 2
Error4.2
Cost26692
\[\begin{array}{l} t_1 := \left(t - 1\right) \cdot \log a\\ \mathbf{if}\;t_1 \leq -600:\\ \;\;\;\;\frac{x}{y \cdot e^{b - t_1}}\\ \mathbf{else}:\\ \;\;\;\;e^{\left(y \cdot \log z - \log a\right) - b} \cdot \frac{x}{y}\\ \end{array} \]
Alternative 3
Error2.3
Cost26692
\[\begin{array}{l} t_1 := \left(t - 1\right) \cdot \log a\\ \mathbf{if}\;t_1 \leq -630:\\ \;\;\;\;\frac{x}{y \cdot e^{b - t_1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\left(y \cdot \log z - \log a\right) - b} \cdot x}{y}\\ \end{array} \]
Alternative 4
Error2.0
Cost26432
\[\frac{x}{y \cdot e^{b - \mathsf{fma}\left(\log z, y, \left(-1 + t\right) \cdot \log a\right)}} \]
Alternative 5
Error6.6
Cost20292
\[\begin{array}{l} t_1 := \left(t - 1\right) \cdot \log a\\ \mathbf{if}\;t_1 \leq 40:\\ \;\;\;\;\frac{x}{y \cdot e^{b - t_1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot e^{b - y \cdot \log z}}\\ \end{array} \]
Alternative 6
Error1.9
Cost20160
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y} \]
Alternative 7
Error9.4
Cost13836
\[\begin{array}{l} t_1 := \frac{x}{y \cdot e^{b - y \cdot \log z}}\\ \mathbf{if}\;y \leq -5.5 \cdot 10^{+46}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq -3.2 \cdot 10^{-139}:\\ \;\;\;\;e^{\left(t - 1\right) \cdot \log a - b} \cdot \frac{x}{y}\\ \mathbf{elif}\;y \leq 70000000:\\ \;\;\;\;\frac{\frac{{a}^{\left(t - 1\right)} \cdot x}{e^{b}}}{y}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Error9.4
Cost13704
\[\begin{array}{l} t_1 := \frac{x}{y \cdot e^{b - y \cdot \log z}}\\ \mathbf{if}\;y \leq -1.5:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 38000000:\\ \;\;\;\;\frac{\frac{{a}^{\left(t - 1\right)} \cdot x}{e^{b}}}{y}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 9
Error22.5
Cost7436
\[\begin{array}{l} t_1 := 3 - \left(3 + \frac{\frac{x}{e^{b}}}{-y}\right)\\ t_2 := \frac{{z}^{y} \cdot x}{y}\\ \mathbf{if}\;b \leq -0.03:\\ \;\;\;\;t_2\\ \mathbf{elif}\;b \leq -3.8 \cdot 10^{-91}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;b \leq 2.3 \cdot 10^{-303}:\\ \;\;\;\;t_2\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 10
Error22.9
Cost6916
\[\begin{array}{l} \mathbf{if}\;b \leq 2.5 \cdot 10^{-35}:\\ \;\;\;\;\frac{{z}^{y} \cdot x}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{e^{b}}}{y}\\ \end{array} \]
Alternative 11
Error35.3
Cost6720
\[\frac{\frac{x}{e^{b}}}{y} \]
Alternative 12
Error55.0
Cost192
\[\frac{x}{y} \]

Error

Reproduce?

herbie shell --seed 2023033 
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A"
  :precision binary64

  :herbie-target
  (if (< t -0.8845848504127471) (/ (* x (/ (pow a (- t 1.0)) y)) (- (+ b 1.0) (* y (log z)))) (if (< t 852031.2288374073) (/ (* (/ x y) (pow a (- t 1.0))) (exp (- b (* (log z) y)))) (/ (* x (/ (pow a (- t 1.0)) y)) (- (+ b 1.0) (* y (log z))))))

  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))