Average Error: 1.9 → 1.3
Time: 45.0s
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}\;\log a \cdot \left(t - 1.0\right) \le -674.4137833543721:\\ \;\;\;\;\frac{x \cdot {e}^{\left(\left(\log z \cdot y + \log a \cdot \left(t - 1.0\right)\right) - b\right)}}{y}\\ \mathbf{elif}\;\log a \cdot \left(t - 1.0\right) \le -122.10184297103054:\\ \;\;\;\;\left(x \cdot \frac{e^{\log a \cdot \left(t - 1.0\right)}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\right) \cdot \frac{e^{\log z \cdot y - b}}{\sqrt[3]{y}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{e^{\left(\log z \cdot y + \log a \cdot \left(t - 1.0\right)\right) - b} \cdot x}{y}} \cdot \left(\sqrt[3]{\frac{e^{\left(\log z \cdot y + \log a \cdot \left(t - 1.0\right)\right) - b} \cdot x}{y}} \cdot \sqrt[3]{\frac{e^{\left(\log z \cdot y + \log a \cdot \left(t - 1.0\right)\right) - b} \cdot x}{y}}\right)\\ \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}\;\log a \cdot \left(t - 1.0\right) \le -674.4137833543721:\\
\;\;\;\;\frac{x \cdot {e}^{\left(\left(\log z \cdot y + \log a \cdot \left(t - 1.0\right)\right) - b\right)}}{y}\\

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

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r1679864 = x;
        double r1679865 = y;
        double r1679866 = z;
        double r1679867 = log(r1679866);
        double r1679868 = r1679865 * r1679867;
        double r1679869 = t;
        double r1679870 = 1.0;
        double r1679871 = r1679869 - r1679870;
        double r1679872 = a;
        double r1679873 = log(r1679872);
        double r1679874 = r1679871 * r1679873;
        double r1679875 = r1679868 + r1679874;
        double r1679876 = b;
        double r1679877 = r1679875 - r1679876;
        double r1679878 = exp(r1679877);
        double r1679879 = r1679864 * r1679878;
        double r1679880 = r1679879 / r1679865;
        return r1679880;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r1679881 = a;
        double r1679882 = log(r1679881);
        double r1679883 = t;
        double r1679884 = 1.0;
        double r1679885 = r1679883 - r1679884;
        double r1679886 = r1679882 * r1679885;
        double r1679887 = -674.4137833543721;
        bool r1679888 = r1679886 <= r1679887;
        double r1679889 = x;
        double r1679890 = exp(1.0);
        double r1679891 = z;
        double r1679892 = log(r1679891);
        double r1679893 = y;
        double r1679894 = r1679892 * r1679893;
        double r1679895 = r1679894 + r1679886;
        double r1679896 = b;
        double r1679897 = r1679895 - r1679896;
        double r1679898 = pow(r1679890, r1679897);
        double r1679899 = r1679889 * r1679898;
        double r1679900 = r1679899 / r1679893;
        double r1679901 = -122.10184297103054;
        bool r1679902 = r1679886 <= r1679901;
        double r1679903 = exp(r1679886);
        double r1679904 = cbrt(r1679893);
        double r1679905 = r1679904 * r1679904;
        double r1679906 = r1679903 / r1679905;
        double r1679907 = r1679889 * r1679906;
        double r1679908 = r1679894 - r1679896;
        double r1679909 = exp(r1679908);
        double r1679910 = r1679909 / r1679904;
        double r1679911 = r1679907 * r1679910;
        double r1679912 = exp(r1679897);
        double r1679913 = r1679912 * r1679889;
        double r1679914 = r1679913 / r1679893;
        double r1679915 = cbrt(r1679914);
        double r1679916 = r1679915 * r1679915;
        double r1679917 = r1679915 * r1679916;
        double r1679918 = r1679902 ? r1679911 : r1679917;
        double r1679919 = r1679888 ? r1679900 : r1679918;
        return r1679919;
}

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 3 regimes
  2. if (* (- t 1.0) (log a)) < -674.4137833543721

    1. Initial program 0.3

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

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

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

      \[\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}\]
    6. Applied exp-prod0.3

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

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

    if -674.4137833543721 < (* (- t 1.0) (log a)) < -122.10184297103054

    1. Initial program 6.0

      \[\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-identity6.0

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

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

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

      \[\leadsto x \cdot \color{blue}{\frac{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}{y}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt2.1

      \[\leadsto x \cdot \frac{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}\]
    9. Applied fma-udef2.1

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

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

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

      \[\leadsto x \cdot \color{blue}{\left(\frac{e^{\left(t - 1.0\right) \cdot \log a}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{e^{\log z \cdot y - b}}{\sqrt[3]{y}}\right)}\]
    13. Applied associate-*r*3.1

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

    if -122.10184297103054 < (* (- t 1.0) (log a))

    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 \color{blue}{\left(\sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.3

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

Reproduce

herbie shell --seed 2019152 +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))