Average Error: 2.1 → 0.6
Time: 38.9s
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}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\ \;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{1}{{a}^{1}}\right)}^{1}}{y} \cdot \left(e^{\left(y \cdot \log z - \left(-\log a\right) \cdot t\right) - b} \cdot x\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}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r62788 = x;
        double r62789 = y;
        double r62790 = z;
        double r62791 = log(r62790);
        double r62792 = r62789 * r62791;
        double r62793 = t;
        double r62794 = 1.0;
        double r62795 = r62793 - r62794;
        double r62796 = a;
        double r62797 = log(r62796);
        double r62798 = r62795 * r62797;
        double r62799 = r62792 + r62798;
        double r62800 = b;
        double r62801 = r62799 - r62800;
        double r62802 = exp(r62801);
        double r62803 = r62788 * r62802;
        double r62804 = r62803 / r62789;
        return r62804;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r62805 = t;
        double r62806 = 1.0;
        double r62807 = r62805 - r62806;
        double r62808 = a;
        double r62809 = log(r62808);
        double r62810 = r62807 * r62809;
        double r62811 = -173011673.07598153;
        bool r62812 = r62810 <= r62811;
        double r62813 = 145.82232167186896;
        bool r62814 = r62810 <= r62813;
        double r62815 = !r62814;
        bool r62816 = r62812 || r62815;
        double r62817 = x;
        double r62818 = y;
        double r62819 = z;
        double r62820 = log(r62819);
        double r62821 = r62818 * r62820;
        double r62822 = r62821 + r62810;
        double r62823 = b;
        double r62824 = r62822 - r62823;
        double r62825 = exp(r62824);
        double r62826 = r62817 * r62825;
        double r62827 = r62826 / r62818;
        double r62828 = 1.0;
        double r62829 = pow(r62808, r62806);
        double r62830 = r62828 / r62829;
        double r62831 = pow(r62830, r62806);
        double r62832 = r62831 / r62818;
        double r62833 = -r62809;
        double r62834 = r62833 * r62805;
        double r62835 = r62821 - r62834;
        double r62836 = r62835 - r62823;
        double r62837 = exp(r62836);
        double r62838 = r62837 * r62817;
        double r62839 = r62832 * r62838;
        double r62840 = r62816 ? r62827 : r62839;
        return r62840;
}

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 (* (- t 1.0) (log a)) < -173011673.07598153 or 145.82232167186896 < (* (- t 1.0) (log a))

    1. Initial program 0.4

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]

    if -173011673.07598153 < (* (- t 1.0) (log a)) < 145.82232167186896

    1. Initial program 5.2

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
    2. Using strategy rm
    3. Applied associate-/l*2.2

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

      \[\leadsto \frac{x}{\color{blue}{\frac{y}{\frac{{a}^{\left(t - 1\right)} \cdot {z}^{y}}{e^{b}}}}}\]
    5. Using strategy rm
    6. Applied pow-sub7.6

      \[\leadsto \frac{x}{\frac{y}{\frac{\color{blue}{\frac{{a}^{t}}{{a}^{1}}} \cdot {z}^{y}}{e^{b}}}}\]
    7. Applied associate-*l/7.6

      \[\leadsto \frac{x}{\frac{y}{\frac{\color{blue}{\frac{{a}^{t} \cdot {z}^{y}}{{a}^{1}}}}{e^{b}}}}\]
    8. Applied associate-/l/7.6

      \[\leadsto \frac{x}{\frac{y}{\color{blue}{\frac{{a}^{t} \cdot {z}^{y}}{e^{b} \cdot {a}^{1}}}}}\]
    9. Taylor expanded around inf 10.8

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\ \;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{1}{{a}^{1}}\right)}^{1}}{y} \cdot \left(e^{\left(y \cdot \log z - \left(-\log a\right) \cdot t\right) - b} \cdot x\right)\\ \end{array}\]

Reproduce

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