Average Error: 4.3 → 3.3
Time: 26.1s
Precision: 64
\[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
\[\begin{array}{l} \mathbf{if}\;t \le -281574713299796459520 \lor \neg \left(t \le 3.422950075620730720749696840768394601184 \cdot 10^{-8}\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \log \left(e^{\frac{2}{t \cdot 3}}\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\ \end{array}\]
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
\begin{array}{l}
\mathbf{if}\;t \le -281574713299796459520 \lor \neg \left(t \le 3.422950075620730720749696840768394601184 \cdot 10^{-8}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \log \left(e^{\frac{2}{t \cdot 3}}\right)\right)\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r65768 = x;
        double r65769 = y;
        double r65770 = 2.0;
        double r65771 = z;
        double r65772 = t;
        double r65773 = a;
        double r65774 = r65772 + r65773;
        double r65775 = sqrt(r65774);
        double r65776 = r65771 * r65775;
        double r65777 = r65776 / r65772;
        double r65778 = b;
        double r65779 = c;
        double r65780 = r65778 - r65779;
        double r65781 = 5.0;
        double r65782 = 6.0;
        double r65783 = r65781 / r65782;
        double r65784 = r65773 + r65783;
        double r65785 = 3.0;
        double r65786 = r65772 * r65785;
        double r65787 = r65770 / r65786;
        double r65788 = r65784 - r65787;
        double r65789 = r65780 * r65788;
        double r65790 = r65777 - r65789;
        double r65791 = r65770 * r65790;
        double r65792 = exp(r65791);
        double r65793 = r65769 * r65792;
        double r65794 = r65768 + r65793;
        double r65795 = r65768 / r65794;
        return r65795;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r65796 = t;
        double r65797 = -2.8157471329979646e+20;
        bool r65798 = r65796 <= r65797;
        double r65799 = 3.422950075620731e-08;
        bool r65800 = r65796 <= r65799;
        double r65801 = !r65800;
        bool r65802 = r65798 || r65801;
        double r65803 = x;
        double r65804 = y;
        double r65805 = 2.0;
        double r65806 = z;
        double r65807 = a;
        double r65808 = r65796 + r65807;
        double r65809 = sqrt(r65808);
        double r65810 = r65796 / r65809;
        double r65811 = r65806 / r65810;
        double r65812 = b;
        double r65813 = c;
        double r65814 = r65812 - r65813;
        double r65815 = 5.0;
        double r65816 = 6.0;
        double r65817 = r65815 / r65816;
        double r65818 = r65807 + r65817;
        double r65819 = 3.0;
        double r65820 = r65796 * r65819;
        double r65821 = r65805 / r65820;
        double r65822 = exp(r65821);
        double r65823 = log(r65822);
        double r65824 = r65818 - r65823;
        double r65825 = r65814 * r65824;
        double r65826 = r65811 - r65825;
        double r65827 = r65805 * r65826;
        double r65828 = exp(r65827);
        double r65829 = r65804 * r65828;
        double r65830 = r65803 + r65829;
        double r65831 = r65803 / r65830;
        double r65832 = r65806 * r65809;
        double r65833 = r65807 - r65817;
        double r65834 = r65833 * r65820;
        double r65835 = r65832 * r65834;
        double r65836 = r65807 * r65807;
        double r65837 = r65817 * r65817;
        double r65838 = r65836 - r65837;
        double r65839 = r65838 * r65820;
        double r65840 = r65833 * r65805;
        double r65841 = r65839 - r65840;
        double r65842 = r65814 * r65841;
        double r65843 = r65796 * r65842;
        double r65844 = r65835 - r65843;
        double r65845 = r65796 * r65834;
        double r65846 = r65844 / r65845;
        double r65847 = r65805 * r65846;
        double r65848 = exp(r65847);
        double r65849 = r65804 * r65848;
        double r65850 = r65803 + r65849;
        double r65851 = r65803 / r65850;
        double r65852 = r65802 ? r65831 : r65851;
        return r65852;
}

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

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if t < -2.8157471329979646e+20 or 3.422950075620731e-08 < t

    1. Initial program 3.1

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

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

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

    if -2.8157471329979646e+20 < t < 3.422950075620731e-08

    1. Initial program 5.5

      \[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
    2. Using strategy rm
    3. Applied flip-+8.2

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\color{blue}{\frac{a \cdot a - \frac{5}{6} \cdot \frac{5}{6}}{a - \frac{5}{6}}} - \frac{2}{t \cdot 3}\right)\right)}}\]
    4. Applied frac-sub8.2

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \color{blue}{\frac{\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2}{\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)}}\right)}}\]
    5. Applied associate-*r/8.3

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \color{blue}{\frac{\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)}{\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)}}\right)}}\]
    6. Applied frac-sub6.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -281574713299796459520 \lor \neg \left(t \le 3.422950075620730720749696840768394601184 \cdot 10^{-8}\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \log \left(e^{\frac{2}{t \cdot 3}}\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019322 
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
  :precision binary64
  (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))