Average Error: 2.0 → 1.3
Time: 19.9s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\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)}}}}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\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)}}}}
double f(double x, double y, double z, double t, double a, double b) {
        double r116505 = x;
        double r116506 = y;
        double r116507 = z;
        double r116508 = log(r116507);
        double r116509 = r116506 * r116508;
        double r116510 = t;
        double r116511 = 1.0;
        double r116512 = r116510 - r116511;
        double r116513 = a;
        double r116514 = log(r116513);
        double r116515 = r116512 * r116514;
        double r116516 = r116509 + r116515;
        double r116517 = b;
        double r116518 = r116516 - r116517;
        double r116519 = exp(r116518);
        double r116520 = r116505 * r116519;
        double r116521 = r116520 / r116506;
        return r116521;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r116522 = x;
        double r116523 = y;
        double r116524 = 1.0;
        double r116525 = a;
        double r116526 = r116524 / r116525;
        double r116527 = 1.0;
        double r116528 = pow(r116526, r116527);
        double r116529 = z;
        double r116530 = r116524 / r116529;
        double r116531 = log(r116530);
        double r116532 = log(r116526);
        double r116533 = t;
        double r116534 = b;
        double r116535 = fma(r116532, r116533, r116534);
        double r116536 = fma(r116523, r116531, r116535);
        double r116537 = exp(r116536);
        double r116538 = r116528 / r116537;
        double r116539 = r116523 / r116538;
        double r116540 = r116522 / r116539;
        return r116540;
}

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. Initial program 2.0

    \[\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.0

    \[\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.3

    \[\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*1.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)}}}}}\]
  6. Final simplification1.3

    \[\leadsto \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)}}}}\]

Reproduce

herbie shell --seed 2020060 +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))