Average Error: 2.0 → 2.3
Time: 34.8s
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}\;\log a \cdot \left(t - 1\right) \le -2.758687718269212165448790199192525359418 \cdot 10^{69} \lor \neg \left(\log a \cdot \left(t - 1\right) \le -205.7954937512333799531916156411170959473\right):\\ \;\;\;\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{y}{\left(\frac{{a}^{\left(-1\right)}}{\sqrt{e^{b}}} \cdot \frac{{a}^{t}}{\sqrt{e^{b}}}\right) \cdot {z}^{y}}}\\ \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}\;\log a \cdot \left(t - 1\right) \le -2.758687718269212165448790199192525359418 \cdot 10^{69} \lor \neg \left(\log a \cdot \left(t - 1\right) \le -205.7954937512333799531916156411170959473\right):\\
\;\;\;\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b}}{y}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r50793 = x;
        double r50794 = y;
        double r50795 = z;
        double r50796 = log(r50795);
        double r50797 = r50794 * r50796;
        double r50798 = t;
        double r50799 = 1.0;
        double r50800 = r50798 - r50799;
        double r50801 = a;
        double r50802 = log(r50801);
        double r50803 = r50800 * r50802;
        double r50804 = r50797 + r50803;
        double r50805 = b;
        double r50806 = r50804 - r50805;
        double r50807 = exp(r50806);
        double r50808 = r50793 * r50807;
        double r50809 = r50808 / r50794;
        return r50809;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r50810 = a;
        double r50811 = log(r50810);
        double r50812 = t;
        double r50813 = 1.0;
        double r50814 = r50812 - r50813;
        double r50815 = r50811 * r50814;
        double r50816 = -2.758687718269212e+69;
        bool r50817 = r50815 <= r50816;
        double r50818 = -205.79549375123338;
        bool r50819 = r50815 <= r50818;
        double r50820 = !r50819;
        bool r50821 = r50817 || r50820;
        double r50822 = x;
        double r50823 = z;
        double r50824 = log(r50823);
        double r50825 = y;
        double r50826 = r50824 * r50825;
        double r50827 = r50815 + r50826;
        double r50828 = b;
        double r50829 = r50827 - r50828;
        double r50830 = exp(r50829);
        double r50831 = r50822 * r50830;
        double r50832 = r50831 / r50825;
        double r50833 = -r50813;
        double r50834 = pow(r50810, r50833);
        double r50835 = exp(r50828);
        double r50836 = sqrt(r50835);
        double r50837 = r50834 / r50836;
        double r50838 = pow(r50810, r50812);
        double r50839 = r50838 / r50836;
        double r50840 = r50837 * r50839;
        double r50841 = pow(r50823, r50825);
        double r50842 = r50840 * r50841;
        double r50843 = r50825 / r50842;
        double r50844 = r50822 / r50843;
        double r50845 = r50821 ? r50832 : r50844;
        return r50845;
}

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)) < -2.758687718269212e+69 or -205.79549375123338 < (* (- t 1.0) (log a))

    1. Initial program 0.7

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

    if -2.758687718269212e+69 < (* (- t 1.0) (log a)) < -205.79549375123338

    1. Initial program 5.4

      \[\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*1.8

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

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

      \[\leadsto \frac{x}{\frac{y}{{z}^{y} \cdot \frac{{a}^{\left(t - 1\right)}}{\color{blue}{\sqrt{e^{b}} \cdot \sqrt{e^{b}}}}}}\]
    7. Applied sub-neg6.8

      \[\leadsto \frac{x}{\frac{y}{{z}^{y} \cdot \frac{{a}^{\color{blue}{\left(t + \left(-1\right)\right)}}}{\sqrt{e^{b}} \cdot \sqrt{e^{b}}}}}\]
    8. Applied unpow-prod-up6.8

      \[\leadsto \frac{x}{\frac{y}{{z}^{y} \cdot \frac{\color{blue}{{a}^{t} \cdot {a}^{\left(-1\right)}}}{\sqrt{e^{b}} \cdot \sqrt{e^{b}}}}}\]
    9. Applied times-frac6.8

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

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

Reproduce

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