Average Error: 1.8 → 0.3
Time: 15.2s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\begin{array}{l} \mathbf{if}\;a \le 3.1520248947255987 \cdot 10^{-105}:\\ \;\;\;\;\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{\sqrt[3]{{\left(e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}\right)}^{3}}}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}\\ \end{array}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\begin{array}{l}
\mathbf{if}\;a \le 3.1520248947255987 \cdot 10^{-105}:\\
\;\;\;\;\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{\sqrt[3]{{\left(e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}\right)}^{3}}}}{y}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r87356 = x;
        double r87357 = y;
        double r87358 = z;
        double r87359 = log(r87358);
        double r87360 = r87357 * r87359;
        double r87361 = t;
        double r87362 = 1.0;
        double r87363 = r87361 - r87362;
        double r87364 = a;
        double r87365 = log(r87364);
        double r87366 = r87363 * r87365;
        double r87367 = r87360 + r87366;
        double r87368 = b;
        double r87369 = r87367 - r87368;
        double r87370 = exp(r87369);
        double r87371 = r87356 * r87370;
        double r87372 = r87371 / r87357;
        return r87372;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r87373 = a;
        double r87374 = 3.1520248947255987e-105;
        bool r87375 = r87373 <= r87374;
        double r87376 = x;
        double r87377 = 1.0;
        double r87378 = r87377 / r87373;
        double r87379 = 1.0;
        double r87380 = pow(r87378, r87379);
        double r87381 = y;
        double r87382 = z;
        double r87383 = r87377 / r87382;
        double r87384 = log(r87383);
        double r87385 = log(r87378);
        double r87386 = t;
        double r87387 = b;
        double r87388 = fma(r87385, r87386, r87387);
        double r87389 = fma(r87381, r87384, r87388);
        double r87390 = exp(r87389);
        double r87391 = 3.0;
        double r87392 = pow(r87390, r87391);
        double r87393 = cbrt(r87392);
        double r87394 = r87380 / r87393;
        double r87395 = r87376 * r87394;
        double r87396 = r87395 / r87381;
        double r87397 = r87380 / r87390;
        double r87398 = r87381 / r87397;
        double r87399 = r87376 / r87398;
        double r87400 = r87375 ? r87396 : r87399;
        return r87400;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Derivation

  1. Split input into 2 regimes
  2. if a < 3.1520248947255987e-105

    1. Initial program 0.7

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

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

      \[\leadsto \frac{x \cdot \color{blue}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}{y}\]
    4. Using strategy rm
    5. Applied add-cbrt-cube0.1

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

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

    if 3.1520248947255987e-105 < a

    1. Initial program 2.3

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

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

      \[\leadsto \frac{x \cdot \color{blue}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}{y}\]
    4. Using strategy rm
    5. Applied associate-/l*0.3

      \[\leadsto \color{blue}{\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le 3.1520248947255987 \cdot 10^{-105}:\\ \;\;\;\;\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{\sqrt[3]{{\left(e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}\right)}^{3}}}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020034 +o rules:numerics
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
  :precision binary64
  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1) (log a))) b))) y))