Average Error: 1.9 → 1.0
Time: 42.0s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, \log z \cdot y - b\right)}}}}}{\frac{\sqrt[3]{\sqrt[3]{y}} \cdot \left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right)}{\sqrt{{e}^{\left(\mathsf{fma}\left(t - 1, \log a, \log z \cdot y - b\right)\right)}}}}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, \log z \cdot y - b\right)}}}}}{\frac{\sqrt[3]{\sqrt[3]{y}} \cdot \left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right)}{\sqrt{{e}^{\left(\mathsf{fma}\left(t - 1, \log a, \log z \cdot y - b\right)\right)}}}}
double f(double x, double y, double z, double t, double a, double b) {
        double r18232754 = x;
        double r18232755 = y;
        double r18232756 = z;
        double r18232757 = log(r18232756);
        double r18232758 = r18232755 * r18232757;
        double r18232759 = t;
        double r18232760 = 1.0;
        double r18232761 = r18232759 - r18232760;
        double r18232762 = a;
        double r18232763 = log(r18232762);
        double r18232764 = r18232761 * r18232763;
        double r18232765 = r18232758 + r18232764;
        double r18232766 = b;
        double r18232767 = r18232765 - r18232766;
        double r18232768 = exp(r18232767);
        double r18232769 = r18232754 * r18232768;
        double r18232770 = r18232769 / r18232755;
        return r18232770;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r18232771 = x;
        double r18232772 = y;
        double r18232773 = cbrt(r18232772);
        double r18232774 = r18232773 * r18232773;
        double r18232775 = t;
        double r18232776 = 1.0;
        double r18232777 = r18232775 - r18232776;
        double r18232778 = a;
        double r18232779 = log(r18232778);
        double r18232780 = z;
        double r18232781 = log(r18232780);
        double r18232782 = r18232781 * r18232772;
        double r18232783 = b;
        double r18232784 = r18232782 - r18232783;
        double r18232785 = fma(r18232777, r18232779, r18232784);
        double r18232786 = exp(r18232785);
        double r18232787 = sqrt(r18232786);
        double r18232788 = r18232774 / r18232787;
        double r18232789 = r18232771 / r18232788;
        double r18232790 = cbrt(r18232773);
        double r18232791 = r18232790 * r18232790;
        double r18232792 = r18232790 * r18232791;
        double r18232793 = exp(1.0);
        double r18232794 = pow(r18232793, r18232785);
        double r18232795 = sqrt(r18232794);
        double r18232796 = r18232792 / r18232795;
        double r18232797 = r18232789 / r18232796;
        return r18232797;
}

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

Target

Original1.9
Target10.9
Herbie1.0
\[\begin{array}{l} \mathbf{if}\;t \lt -0.8845848504127471478852839936735108494759:\\ \;\;\;\;\frac{x \cdot \frac{{a}^{\left(t - 1\right)}}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \mathbf{elif}\;t \lt 852031.228837407310493290424346923828125:\\ \;\;\;\;\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. Using strategy rm
  3. Applied associate-/l*2.0

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

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

    \[\leadsto \frac{x}{\frac{y}{\color{blue}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}} \cdot \sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}}}}}\]
  7. Applied add-cube-cbrt2.0

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

    \[\leadsto \frac{x}{\color{blue}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}}} \cdot \frac{\sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}}}}}\]
  9. Applied associate-/r*1.0

    \[\leadsto \color{blue}{\frac{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}}}}}{\frac{\sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}}}}}\]
  10. Using strategy rm
  11. Applied *-un-lft-identity1.0

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

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

    \[\leadsto \frac{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)}}}}}{\frac{\sqrt[3]{y}}{\sqrt{{\color{blue}{e}}^{\left(\mathsf{fma}\left(t - 1, \log a, y \cdot \log z - b\right)\right)}}}}\]
  14. Using strategy rm
  15. Applied add-cube-cbrt1.0

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

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

Reproduce

herbie shell --seed 2019169 +o rules:numerics
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A"

  :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))