Average Error: 2.1 → 0.5
Time: 32.4s
Precision: 64
\[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\]
\[x \cdot \left({e}^{\left(\frac{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}{2}\right)} \cdot {e}^{\left(\frac{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}{2}\right)}\right)\]
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
x \cdot \left({e}^{\left(\frac{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}{2}\right)} \cdot {e}^{\left(\frac{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}{2}\right)}\right)
double f(double x, double y, double z, double t, double a, double b) {
        double r93512 = x;
        double r93513 = y;
        double r93514 = z;
        double r93515 = log(r93514);
        double r93516 = t;
        double r93517 = r93515 - r93516;
        double r93518 = r93513 * r93517;
        double r93519 = a;
        double r93520 = 1.0;
        double r93521 = r93520 - r93514;
        double r93522 = log(r93521);
        double r93523 = b;
        double r93524 = r93522 - r93523;
        double r93525 = r93519 * r93524;
        double r93526 = r93518 + r93525;
        double r93527 = exp(r93526);
        double r93528 = r93512 * r93527;
        return r93528;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r93529 = x;
        double r93530 = exp(1.0);
        double r93531 = y;
        double r93532 = z;
        double r93533 = log(r93532);
        double r93534 = t;
        double r93535 = r93533 - r93534;
        double r93536 = r93531 * r93535;
        double r93537 = a;
        double r93538 = 1.0;
        double r93539 = log(r93538);
        double r93540 = 0.5;
        double r93541 = 2.0;
        double r93542 = pow(r93532, r93541);
        double r93543 = pow(r93538, r93541);
        double r93544 = r93542 / r93543;
        double r93545 = r93540 * r93544;
        double r93546 = r93538 * r93532;
        double r93547 = r93545 + r93546;
        double r93548 = r93539 - r93547;
        double r93549 = b;
        double r93550 = r93548 - r93549;
        double r93551 = r93537 * r93550;
        double r93552 = r93536 + r93551;
        double r93553 = r93552 / r93541;
        double r93554 = pow(r93530, r93553);
        double r93555 = r93554 * r93554;
        double r93556 = r93529 * r93555;
        return r93556;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 2.1

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

    \[\leadsto x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\color{blue}{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right)} - b\right)}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.5

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

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

    \[\leadsto x \cdot {\color{blue}{e}}^{\left(y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)\right)}\]
  7. Using strategy rm
  8. Applied sqr-pow0.5

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

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

Reproduce

herbie shell --seed 2019304 
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
  :precision binary64
  (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1 z)) b))))))