Average Error: 1.8 → 1.1
Time: 14.3s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{x \cdot \frac{{\left(\frac{\sqrt{1}}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{x \cdot \frac{{\left(\frac{\sqrt{1}}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}
double f(double x, double y, double z, double t, double a, double b) {
        double r531842 = x;
        double r531843 = y;
        double r531844 = z;
        double r531845 = log(r531844);
        double r531846 = r531843 * r531845;
        double r531847 = t;
        double r531848 = 1.0;
        double r531849 = r531847 - r531848;
        double r531850 = a;
        double r531851 = log(r531850);
        double r531852 = r531849 * r531851;
        double r531853 = r531846 + r531852;
        double r531854 = b;
        double r531855 = r531853 - r531854;
        double r531856 = exp(r531855);
        double r531857 = r531842 * r531856;
        double r531858 = r531857 / r531843;
        return r531858;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r531859 = x;
        double r531860 = 1.0;
        double r531861 = sqrt(r531860);
        double r531862 = a;
        double r531863 = r531861 / r531862;
        double r531864 = 1.0;
        double r531865 = pow(r531863, r531864);
        double r531866 = y;
        double r531867 = z;
        double r531868 = r531860 / r531867;
        double r531869 = log(r531868);
        double r531870 = r531866 * r531869;
        double r531871 = r531860 / r531862;
        double r531872 = log(r531871);
        double r531873 = t;
        double r531874 = r531872 * r531873;
        double r531875 = b;
        double r531876 = r531874 + r531875;
        double r531877 = r531870 + r531876;
        double r531878 = exp(r531877);
        double r531879 = r531865 / r531878;
        double r531880 = r531859 * r531879;
        double r531881 = r531880 / r531866;
        return r531881;
}

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

Target

Original1.8
Target11.0
Herbie1.1
\[\begin{array}{l} \mathbf{if}\;t \lt -0.88458485041274715:\\ \;\;\;\;\frac{x \cdot \frac{{a}^{\left(t - 1\right)}}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \mathbf{elif}\;t \lt 852031.22883740731:\\ \;\;\;\;\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.8

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

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

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

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

    \[\leadsto \frac{x \cdot \frac{{\left(\frac{1}{\color{blue}{1 \cdot a}}\right)}^{1}}{1 \cdot e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
  7. Applied add-sqr-sqrt1.1

    \[\leadsto \frac{x \cdot \frac{{\left(\frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{1 \cdot a}\right)}^{1}}{1 \cdot e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
  8. Applied times-frac1.1

    \[\leadsto \frac{x \cdot \frac{{\color{blue}{\left(\frac{\sqrt{1}}{1} \cdot \frac{\sqrt{1}}{a}\right)}}^{1}}{1 \cdot e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
  9. Applied unpow-prod-down1.1

    \[\leadsto \frac{x \cdot \frac{\color{blue}{{\left(\frac{\sqrt{1}}{1}\right)}^{1} \cdot {\left(\frac{\sqrt{1}}{a}\right)}^{1}}}{1 \cdot e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
  10. Applied times-frac1.1

    \[\leadsto \frac{x \cdot \color{blue}{\left(\frac{{\left(\frac{\sqrt{1}}{1}\right)}^{1}}{1} \cdot \frac{{\left(\frac{\sqrt{1}}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}\right)}}{y}\]
  11. Applied associate-*r*1.1

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

    \[\leadsto \frac{\color{blue}{x} \cdot \frac{{\left(\frac{\sqrt{1}}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
  13. Final simplification1.1

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

Reproduce

herbie shell --seed 2020065 
(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)) y)) (- (+ b 1) (* y (log z)))) (if (< t 852031.2288374073) (/ (* (/ x y) (pow a (- t 1))) (exp (- b (* (log z) y)))) (/ (* x (/ (pow a (- t 1)) y)) (- (+ b 1) (* y (log z))))))

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