Average Error: 1.9 → 1.4
Time: 16.5s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\begin{array}{l} \mathbf{if}\;y \le -1.8083024609859045665823801975839258441 \cdot 10^{-147} \lor \neg \left(y \le 3.644923159639203359098206726180046552643 \cdot 10^{-51}\right):\\ \;\;\;\;\frac{x \cdot \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}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\log \left(\frac{1}{a}\right) \cdot t + b} \cdot {\left(\frac{1}{z}\right)}^{y}} \cdot \frac{1}{y}\right)\\ \end{array}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\begin{array}{l}
\mathbf{if}\;y \le -1.8083024609859045665823801975839258441 \cdot 10^{-147} \lor \neg \left(y \le 3.644923159639203359098206726180046552643 \cdot 10^{-51}\right):\\
\;\;\;\;\frac{x \cdot \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}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r82231 = x;
        double r82232 = y;
        double r82233 = z;
        double r82234 = log(r82233);
        double r82235 = r82232 * r82234;
        double r82236 = t;
        double r82237 = 1.0;
        double r82238 = r82236 - r82237;
        double r82239 = a;
        double r82240 = log(r82239);
        double r82241 = r82238 * r82240;
        double r82242 = r82235 + r82241;
        double r82243 = b;
        double r82244 = r82242 - r82243;
        double r82245 = exp(r82244);
        double r82246 = r82231 * r82245;
        double r82247 = r82246 / r82232;
        return r82247;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r82248 = y;
        double r82249 = -1.8083024609859046e-147;
        bool r82250 = r82248 <= r82249;
        double r82251 = 3.6449231596392034e-51;
        bool r82252 = r82248 <= r82251;
        double r82253 = !r82252;
        bool r82254 = r82250 || r82253;
        double r82255 = x;
        double r82256 = 1.0;
        double r82257 = a;
        double r82258 = r82256 / r82257;
        double r82259 = 1.0;
        double r82260 = pow(r82258, r82259);
        double r82261 = z;
        double r82262 = r82256 / r82261;
        double r82263 = log(r82262);
        double r82264 = r82248 * r82263;
        double r82265 = log(r82258);
        double r82266 = t;
        double r82267 = r82265 * r82266;
        double r82268 = b;
        double r82269 = r82267 + r82268;
        double r82270 = r82264 + r82269;
        double r82271 = exp(r82270);
        double r82272 = r82260 / r82271;
        double r82273 = r82255 * r82272;
        double r82274 = r82273 / r82248;
        double r82275 = exp(r82269);
        double r82276 = pow(r82262, r82248);
        double r82277 = r82275 * r82276;
        double r82278 = r82260 / r82277;
        double r82279 = r82256 / r82248;
        double r82280 = r82278 * r82279;
        double r82281 = r82255 * r82280;
        double r82282 = r82254 ? r82274 : r82281;
        return r82282;
}

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. Split input into 2 regimes
  2. if y < -1.8083024609859046e-147 or 3.6449231596392034e-51 < y

    1. Initial program 0.7

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

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

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

    if -1.8083024609859046e-147 < y < 3.6449231596392034e-51

    1. Initial program 4.1

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

      \[\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. Simplified2.8

      \[\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-identity2.8

      \[\leadsto \frac{x \cdot \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)}}}{\color{blue}{1 \cdot y}}\]
    6. Applied times-frac3.2

      \[\leadsto \color{blue}{\frac{x}{1} \cdot \frac{\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}}\]
    7. Simplified3.2

      \[\leadsto \color{blue}{x} \cdot \frac{\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}\]
    8. Simplified3.2

      \[\leadsto x \cdot \color{blue}{\frac{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\log \left(\frac{1}{a}\right) \cdot t + b} \cdot {\left(\frac{1}{z}\right)}^{y}}}{y}}\]
    9. Using strategy rm
    10. Applied div-inv3.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \le -1.8083024609859045665823801975839258441 \cdot 10^{-147} \lor \neg \left(y \le 3.644923159639203359098206726180046552643 \cdot 10^{-51}\right):\\ \;\;\;\;\frac{x \cdot \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}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\log \left(\frac{1}{a}\right) \cdot t + b} \cdot {\left(\frac{1}{z}\right)}^{y}} \cdot \frac{1}{y}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019354 
(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))