Average Error: 2.0 → 1.1
Time: 1.5m
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 -5.595323073166741 \cdot 10^{+53}:\\ \;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}} \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\ \mathbf{elif}\;x \le 2.2414839806053286 \cdot 10^{-132}:\\ \;\;\;\;\frac{e^{(\left(\log a\right) \cdot t + \left(y \cdot \log z - b\right))_* - \log a \cdot 1.0}}{\frac{y}{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right) \cdot e^{\frac{1}{3} \cdot \left((1.0 \cdot \left(-\log a\right) + \left(\log x\right))_* - (\left(-\log a\right) \cdot t + \left(b - y \cdot \log z\right))_*\right)}}{y}\\ \end{array}\]
double f(double x, double y, double z, double t, double a, double b) {
        double r11674101 = x;
        double r11674102 = y;
        double r11674103 = z;
        double r11674104 = log(r11674103);
        double r11674105 = r11674102 * r11674104;
        double r11674106 = t;
        double r11674107 = 1.0;
        double r11674108 = r11674106 - r11674107;
        double r11674109 = a;
        double r11674110 = log(r11674109);
        double r11674111 = r11674108 * r11674110;
        double r11674112 = r11674105 + r11674111;
        double r11674113 = b;
        double r11674114 = r11674112 - r11674113;
        double r11674115 = exp(r11674114);
        double r11674116 = r11674101 * r11674115;
        double r11674117 = r11674116 / r11674102;
        return r11674117;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r11674118 = x;
        double r11674119 = -5.595323073166741e+53;
        bool r11674120 = r11674118 <= r11674119;
        double r11674121 = a;
        double r11674122 = log(r11674121);
        double r11674123 = t;
        double r11674124 = 1.0;
        double r11674125 = r11674123 - r11674124;
        double r11674126 = r11674122 * r11674125;
        double r11674127 = y;
        double r11674128 = z;
        double r11674129 = log(r11674128);
        double r11674130 = r11674127 * r11674129;
        double r11674131 = r11674126 + r11674130;
        double r11674132 = b;
        double r11674133 = r11674131 - r11674132;
        double r11674134 = exp(r11674133);
        double r11674135 = r11674118 * r11674134;
        double r11674136 = cbrt(r11674135);
        double r11674137 = cbrt(r11674136);
        double r11674138 = r11674137 * r11674137;
        double r11674139 = r11674138 * r11674137;
        double r11674140 = cbrt(r11674118);
        double r11674141 = cbrt(r11674134);
        double r11674142 = r11674140 * r11674141;
        double r11674143 = r11674136 * r11674142;
        double r11674144 = r11674139 * r11674143;
        double r11674145 = r11674144 / r11674127;
        double r11674146 = 2.2414839806053286e-132;
        bool r11674147 = r11674118 <= r11674146;
        double r11674148 = r11674130 - r11674132;
        double r11674149 = fma(r11674122, r11674123, r11674148);
        double r11674150 = r11674122 * r11674124;
        double r11674151 = r11674149 - r11674150;
        double r11674152 = exp(r11674151);
        double r11674153 = r11674127 / r11674118;
        double r11674154 = r11674152 / r11674153;
        double r11674155 = r11674136 * r11674136;
        double r11674156 = 0.3333333333333333;
        double r11674157 = -r11674122;
        double r11674158 = log(r11674118);
        double r11674159 = fma(r11674124, r11674157, r11674158);
        double r11674160 = r11674132 - r11674130;
        double r11674161 = fma(r11674157, r11674123, r11674160);
        double r11674162 = r11674159 - r11674161;
        double r11674163 = r11674156 * r11674162;
        double r11674164 = exp(r11674163);
        double r11674165 = r11674155 * r11674164;
        double r11674166 = r11674165 / r11674127;
        double r11674167 = r11674147 ? r11674154 : r11674166;
        double r11674168 = r11674120 ? r11674145 : r11674167;
        return r11674168;
}

\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 -5.595323073166741 \cdot 10^{+53}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}} \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\

\mathbf{elif}\;x \le 2.2414839806053286 \cdot 10^{-132}:\\
\;\;\;\;\frac{e^{(\left(\log a\right) \cdot t + \left(y \cdot \log z - b\right))_* - \log a \cdot 1.0}}{\frac{y}{x}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right) \cdot e^{\frac{1}{3} \cdot \left((1.0 \cdot \left(-\log a\right) + \left(\log x\right))_* - (\left(-\log a\right) \cdot t + \left(b - y \cdot \log z\right))_*\right)}}{y}\\

\end{array}

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

Derivation

  1. Split input into 3 regimes
  2. if x < -5.595323073166741e+53

    1. Initial program 0.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-cube-cbrt0.8

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

      \[\leadsto \frac{\left(\sqrt[3]{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}} \cdot \sqrt[3]{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}} \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}\right) \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}\right)}}{y}\]
    6. Using strategy rm
    7. Applied cbrt-prod0.8

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

    if -5.595323073166741e+53 < x < 2.2414839806053286e-132

    1. Initial program 3.0

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

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

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

    if 2.2414839806053286e-132 < x

    1. Initial program 1.2

      \[\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-cube-cbrt1.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -5.595323073166741 \cdot 10^{+53}:\\ \;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}} \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\ \mathbf{elif}\;x \le 2.2414839806053286 \cdot 10^{-132}:\\ \;\;\;\;\frac{e^{(\left(\log a\right) \cdot t + \left(y \cdot \log z - b\right))_* - \log a \cdot 1.0}}{\frac{y}{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right) \cdot e^{\frac{1}{3} \cdot \left((1.0 \cdot \left(-\log a\right) + \left(\log x\right))_* - (\left(-\log a\right) \cdot t + \left(b - y \cdot \log z\right))_*\right)}}{y}\\ \end{array}\]

Reproduce

herbie shell --seed 2019102 +o rules:numerics
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))