Average Error: 2.0 → 1.5
Time: 54.3s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\begin{array}{l} \mathbf{if}\;x \le -1.874142655497601 \cdot 10^{-203}:\\ \;\;\;\;\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}} \cdot \left(\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}} \cdot \sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}}\right)\\ \mathbf{elif}\;x \le 4.564051854504764 \cdot 10^{+138}:\\ \;\;\;\;\frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)} \cdot x}{y}\\ \end{array}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}
\begin{array}{l}
\mathbf{if}\;x \le -1.874142655497601 \cdot 10^{-203}:\\
\;\;\;\;\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}} \cdot \left(\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}} \cdot \sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}}\right)\\

\mathbf{elif}\;x \le 4.564051854504764 \cdot 10^{+138}:\\
\;\;\;\;\frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y}}\\

\mathbf{else}:\\
\;\;\;\;\frac{{e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)} \cdot x}{y}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r22379053 = x;
        double r22379054 = y;
        double r22379055 = z;
        double r22379056 = log(r22379055);
        double r22379057 = r22379054 * r22379056;
        double r22379058 = t;
        double r22379059 = 1.0;
        double r22379060 = r22379058 - r22379059;
        double r22379061 = a;
        double r22379062 = log(r22379061);
        double r22379063 = r22379060 * r22379062;
        double r22379064 = r22379057 + r22379063;
        double r22379065 = b;
        double r22379066 = r22379064 - r22379065;
        double r22379067 = exp(r22379066);
        double r22379068 = r22379053 * r22379067;
        double r22379069 = r22379068 / r22379054;
        return r22379069;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r22379070 = x;
        double r22379071 = -1.874142655497601e-203;
        bool r22379072 = r22379070 <= r22379071;
        double r22379073 = a;
        double r22379074 = log(r22379073);
        double r22379075 = t;
        double r22379076 = 1.0;
        double r22379077 = r22379075 - r22379076;
        double r22379078 = r22379074 * r22379077;
        double r22379079 = y;
        double r22379080 = z;
        double r22379081 = log(r22379080);
        double r22379082 = r22379079 * r22379081;
        double r22379083 = r22379078 + r22379082;
        double r22379084 = b;
        double r22379085 = r22379083 - r22379084;
        double r22379086 = exp(r22379085);
        double r22379087 = sqrt(r22379086);
        double r22379088 = r22379087 * r22379087;
        double r22379089 = r22379070 * r22379088;
        double r22379090 = r22379089 / r22379079;
        double r22379091 = cbrt(r22379090);
        double r22379092 = r22379091 * r22379091;
        double r22379093 = r22379091 * r22379092;
        double r22379094 = 4.564051854504764e+138;
        bool r22379095 = r22379070 <= r22379094;
        double r22379096 = cbrt(r22379079);
        double r22379097 = r22379096 * r22379096;
        double r22379098 = r22379070 / r22379097;
        double r22379099 = r22379086 / r22379096;
        double r22379100 = r22379098 * r22379099;
        double r22379101 = exp(1.0);
        double r22379102 = pow(r22379101, r22379085);
        double r22379103 = r22379102 * r22379070;
        double r22379104 = r22379103 / r22379079;
        double r22379105 = r22379095 ? r22379100 : r22379104;
        double r22379106 = r22379072 ? r22379093 : r22379105;
        return r22379106;
}

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

Original2.0
Target11.0
Herbie1.5
\[\begin{array}{l} \mathbf{if}\;t \lt -0.8845848504127471:\\ \;\;\;\;\frac{x \cdot \frac{{a}^{\left(t - 1.0\right)}}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \mathbf{elif}\;t \lt 852031.2288374073:\\ \;\;\;\;\frac{\frac{x}{y} \cdot {a}^{\left(t - 1.0\right)}}{e^{b - \log z \cdot y}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot \frac{{a}^{\left(t - 1.0\right)}}{y}}{\left(b + 1\right) - y \cdot \log z}\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if x < -1.874142655497601e-203

    1. Initial program 1.6

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt1.6

      \[\leadsto \frac{x \cdot \color{blue}{\left(\sqrt{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}} \cdot \sqrt{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}\right)}}{y}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt1.6

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

    if -1.874142655497601e-203 < x < 4.564051854504764e+138

    1. Initial program 2.8

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt2.8

      \[\leadsto \frac{x \cdot \color{blue}{\left(\sqrt{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}} \cdot \sqrt{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}\right)}}{y}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt2.8

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

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

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

    if 4.564051854504764e+138 < x

    1. Initial program 0.6

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

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

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

      \[\leadsto \frac{x \cdot {\color{blue}{e}}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -1.874142655497601 \cdot 10^{-203}:\\ \;\;\;\;\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}} \cdot \left(\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}} \cdot \sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}{y}}\right)\\ \mathbf{elif}\;x \le 4.564051854504764 \cdot 10^{+138}:\\ \;\;\;\;\frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)} \cdot x}{y}\\ \end{array}\]

Reproduce

herbie shell --seed 2019164 
(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) (* 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) (* y (log z))))))

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