Average Error: 3.9 → 3.1
Time: 57.8s
Precision: 64
\[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
\[\begin{array}{l} \mathbf{if}\;t \le 6.135401202617778 \cdot 10^{-278}:\\ \;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\ \mathbf{elif}\;t \le 2.2804946574925114 \cdot 10^{-123}:\\ \;\;\;\;\frac{x}{y \cdot e^{\frac{\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot \left(\sqrt{t + a} \cdot z\right) - t \cdot \left(\left(\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0\right) \cdot \left(b - c\right)\right)}{t \cdot \left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right)} \cdot 2.0} + x}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\ \end{array}\]
\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}
\begin{array}{l}
\mathbf{if}\;t \le 6.135401202617778 \cdot 10^{-278}:\\
\;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\

\mathbf{elif}\;t \le 2.2804946574925114 \cdot 10^{-123}:\\
\;\;\;\;\frac{x}{y \cdot e^{\frac{\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot \left(\sqrt{t + a} \cdot z\right) - t \cdot \left(\left(\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0\right) \cdot \left(b - c\right)\right)}{t \cdot \left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right)} \cdot 2.0} + x}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r4241714 = x;
        double r4241715 = y;
        double r4241716 = 2.0;
        double r4241717 = z;
        double r4241718 = t;
        double r4241719 = a;
        double r4241720 = r4241718 + r4241719;
        double r4241721 = sqrt(r4241720);
        double r4241722 = r4241717 * r4241721;
        double r4241723 = r4241722 / r4241718;
        double r4241724 = b;
        double r4241725 = c;
        double r4241726 = r4241724 - r4241725;
        double r4241727 = 5.0;
        double r4241728 = 6.0;
        double r4241729 = r4241727 / r4241728;
        double r4241730 = r4241719 + r4241729;
        double r4241731 = 3.0;
        double r4241732 = r4241718 * r4241731;
        double r4241733 = r4241716 / r4241732;
        double r4241734 = r4241730 - r4241733;
        double r4241735 = r4241726 * r4241734;
        double r4241736 = r4241723 - r4241735;
        double r4241737 = r4241716 * r4241736;
        double r4241738 = exp(r4241737);
        double r4241739 = r4241715 * r4241738;
        double r4241740 = r4241714 + r4241739;
        double r4241741 = r4241714 / r4241740;
        return r4241741;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r4241742 = t;
        double r4241743 = 6.135401202617778e-278;
        bool r4241744 = r4241742 <= r4241743;
        double r4241745 = x;
        double r4241746 = y;
        double r4241747 = z;
        double r4241748 = a;
        double r4241749 = r4241742 + r4241748;
        double r4241750 = sqrt(r4241749);
        double r4241751 = r4241742 / r4241750;
        double r4241752 = r4241747 / r4241751;
        double r4241753 = b;
        double r4241754 = c;
        double r4241755 = r4241753 - r4241754;
        double r4241756 = 5.0;
        double r4241757 = 6.0;
        double r4241758 = r4241756 / r4241757;
        double r4241759 = r4241758 + r4241748;
        double r4241760 = 2.0;
        double r4241761 = 3.0;
        double r4241762 = r4241742 * r4241761;
        double r4241763 = r4241760 / r4241762;
        double r4241764 = r4241759 - r4241763;
        double r4241765 = r4241755 * r4241764;
        double r4241766 = r4241752 - r4241765;
        double r4241767 = r4241766 * r4241760;
        double r4241768 = exp(r4241767);
        double r4241769 = r4241746 * r4241768;
        double r4241770 = r4241769 + r4241745;
        double r4241771 = r4241745 / r4241770;
        double r4241772 = 2.2804946574925114e-123;
        bool r4241773 = r4241742 <= r4241772;
        double r4241774 = r4241748 - r4241758;
        double r4241775 = r4241762 * r4241774;
        double r4241776 = r4241750 * r4241747;
        double r4241777 = r4241775 * r4241776;
        double r4241778 = r4241748 * r4241748;
        double r4241779 = r4241758 * r4241758;
        double r4241780 = r4241778 - r4241779;
        double r4241781 = r4241780 * r4241762;
        double r4241782 = r4241774 * r4241760;
        double r4241783 = r4241781 - r4241782;
        double r4241784 = r4241783 * r4241755;
        double r4241785 = r4241742 * r4241784;
        double r4241786 = r4241777 - r4241785;
        double r4241787 = r4241742 * r4241775;
        double r4241788 = r4241786 / r4241787;
        double r4241789 = r4241788 * r4241760;
        double r4241790 = exp(r4241789);
        double r4241791 = r4241746 * r4241790;
        double r4241792 = r4241791 + r4241745;
        double r4241793 = r4241745 / r4241792;
        double r4241794 = r4241773 ? r4241793 : r4241771;
        double r4241795 = r4241744 ? r4241771 : r4241794;
        return r4241795;
}

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 < 6.135401202617778e-278 or 2.2804946574925114e-123 < t

    1. Initial program 3.6

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

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\color{blue}{\frac{z}{\frac{t}{\sqrt{t + a}}}} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]

    if 6.135401202617778e-278 < t < 2.2804946574925114e-123

    1. Initial program 5.7

      \[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
    2. Using strategy rm
    3. Applied flip-+9.1

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\color{blue}{\frac{a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}}{a - \frac{5.0}{6.0}}} - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
    4. Applied frac-sub9.1

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \color{blue}{\frac{\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0}{\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)}}\right)}}\]
    5. Applied associate-*r/9.1

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \color{blue}{\frac{\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0\right)}{\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)}}\right)}}\]
    6. Applied frac-sub6.6

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le 6.135401202617778 \cdot 10^{-278}:\\ \;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\ \mathbf{elif}\;t \le 2.2804946574925114 \cdot 10^{-123}:\\ \;\;\;\;\frac{x}{y \cdot e^{\frac{\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot \left(\sqrt{t + a} \cdot z\right) - t \cdot \left(\left(\left(a \cdot a - \frac{5.0}{6.0} \cdot \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right) - \left(a - \frac{5.0}{6.0}\right) \cdot 2.0\right) \cdot \left(b - c\right)\right)}{t \cdot \left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right)} \cdot 2.0} + x}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\ \end{array}\]

Reproduce

herbie shell --seed 2019130 
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
  (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))