Average Error: 2.0 → 1.5
Time: 52.4s
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^{\mathsf{fma}\left(t - 1.0, \log a, 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^{\mathsf{fma}\left(t - 1.0, \log a, 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 r3575143 = x;
        double r3575144 = y;
        double r3575145 = z;
        double r3575146 = log(r3575145);
        double r3575147 = r3575144 * r3575146;
        double r3575148 = t;
        double r3575149 = 1.0;
        double r3575150 = r3575148 - r3575149;
        double r3575151 = a;
        double r3575152 = log(r3575151);
        double r3575153 = r3575150 * r3575152;
        double r3575154 = r3575147 + r3575153;
        double r3575155 = b;
        double r3575156 = r3575154 - r3575155;
        double r3575157 = exp(r3575156);
        double r3575158 = r3575143 * r3575157;
        double r3575159 = r3575158 / r3575144;
        return r3575159;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r3575160 = x;
        double r3575161 = -1.874142655497601e-203;
        bool r3575162 = r3575160 <= r3575161;
        double r3575163 = a;
        double r3575164 = log(r3575163);
        double r3575165 = t;
        double r3575166 = 1.0;
        double r3575167 = r3575165 - r3575166;
        double r3575168 = r3575164 * r3575167;
        double r3575169 = y;
        double r3575170 = z;
        double r3575171 = log(r3575170);
        double r3575172 = r3575169 * r3575171;
        double r3575173 = r3575168 + r3575172;
        double r3575174 = b;
        double r3575175 = r3575173 - r3575174;
        double r3575176 = exp(r3575175);
        double r3575177 = sqrt(r3575176);
        double r3575178 = r3575177 * r3575177;
        double r3575179 = r3575160 * r3575178;
        double r3575180 = r3575179 / r3575169;
        double r3575181 = cbrt(r3575180);
        double r3575182 = r3575181 * r3575181;
        double r3575183 = r3575181 * r3575182;
        double r3575184 = 4.564051854504764e+138;
        bool r3575185 = r3575160 <= r3575184;
        double r3575186 = cbrt(r3575169);
        double r3575187 = r3575186 * r3575186;
        double r3575188 = r3575160 / r3575187;
        double r3575189 = fma(r3575167, r3575164, r3575172);
        double r3575190 = r3575189 - r3575174;
        double r3575191 = exp(r3575190);
        double r3575192 = r3575191 / r3575186;
        double r3575193 = r3575188 * r3575192;
        double r3575194 = exp(1.0);
        double r3575195 = pow(r3575194, r3575175);
        double r3575196 = r3575195 * r3575160;
        double r3575197 = r3575196 / r3575169;
        double r3575198 = r3575185 ? r3575193 : r3575197;
        double r3575199 = r3575162 ? r3575183 : r3575198;
        return r3575199;
}

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 < -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-cube-cbrt2.8

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

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

      \[\leadsto \frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \color{blue}{\frac{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\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^{\mathsf{fma}\left(t - 1.0, \log a, 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 +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))