Average Error: 3.9 → 2.7
Time: 8.5s
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 -2.980546173236131583756339022128634755969 \cdot 10^{-42} \lor \neg \left(t \le 7.255739940407829322320856061096335873167 \cdot 10^{-155}\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) - \frac{2}{t \cdot 3}\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 -2.980546173236131583756339022128634755969 \cdot 10^{-42} \lor \neg \left(t \le 7.255739940407829322320856061096335873167 \cdot 10^{-155}\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) - \frac{2}{t \cdot 3}\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 r78646 = x;
        double r78647 = y;
        double r78648 = 2.0;
        double r78649 = z;
        double r78650 = t;
        double r78651 = a;
        double r78652 = r78650 + r78651;
        double r78653 = sqrt(r78652);
        double r78654 = r78649 * r78653;
        double r78655 = r78654 / r78650;
        double r78656 = b;
        double r78657 = c;
        double r78658 = r78656 - r78657;
        double r78659 = 5.0;
        double r78660 = 6.0;
        double r78661 = r78659 / r78660;
        double r78662 = r78651 + r78661;
        double r78663 = 3.0;
        double r78664 = r78650 * r78663;
        double r78665 = r78648 / r78664;
        double r78666 = r78662 - r78665;
        double r78667 = r78658 * r78666;
        double r78668 = r78655 - r78667;
        double r78669 = r78648 * r78668;
        double r78670 = exp(r78669);
        double r78671 = r78647 * r78670;
        double r78672 = r78646 + r78671;
        double r78673 = r78646 / r78672;
        return r78673;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r78674 = t;
        double r78675 = -2.9805461732361316e-42;
        bool r78676 = r78674 <= r78675;
        double r78677 = 7.255739940407829e-155;
        bool r78678 = r78674 <= r78677;
        double r78679 = !r78678;
        bool r78680 = r78676 || r78679;
        double r78681 = x;
        double r78682 = y;
        double r78683 = 2.0;
        double r78684 = z;
        double r78685 = a;
        double r78686 = r78674 + r78685;
        double r78687 = sqrt(r78686);
        double r78688 = r78674 / r78687;
        double r78689 = r78684 / r78688;
        double r78690 = b;
        double r78691 = c;
        double r78692 = r78690 - r78691;
        double r78693 = 5.0;
        double r78694 = 6.0;
        double r78695 = r78693 / r78694;
        double r78696 = r78685 + r78695;
        double r78697 = 3.0;
        double r78698 = r78674 * r78697;
        double r78699 = r78683 / r78698;
        double r78700 = r78696 - r78699;
        double r78701 = r78692 * r78700;
        double r78702 = r78689 - r78701;
        double r78703 = r78683 * r78702;
        double r78704 = exp(r78703);
        double r78705 = r78682 * r78704;
        double r78706 = r78681 + r78705;
        double r78707 = r78681 / r78706;
        double r78708 = r78684 * r78687;
        double r78709 = r78685 - r78695;
        double r78710 = r78709 * r78698;
        double r78711 = r78708 * r78710;
        double r78712 = r78685 * r78685;
        double r78713 = r78695 * r78695;
        double r78714 = r78712 - r78713;
        double r78715 = r78714 * r78698;
        double r78716 = r78709 * r78683;
        double r78717 = r78715 - r78716;
        double r78718 = r78692 * r78717;
        double r78719 = r78674 * r78718;
        double r78720 = r78711 - r78719;
        double r78721 = r78674 * r78710;
        double r78722 = r78720 / r78721;
        double r78723 = r78683 * r78722;
        double r78724 = exp(r78723);
        double r78725 = r78682 * r78724;
        double r78726 = r78681 + r78725;
        double r78727 = r78681 / r78726;
        double r78728 = r78680 ? r78707 : r78727;
        return r78728;
}

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.9805461732361316e-42 or 7.255739940407829e-155 < t

    1. Initial program 2.3

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

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

    if -2.9805461732361316e-42 < t < 7.255739940407829e-155

    1. Initial program 7.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-+10.9

      \[\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-sub10.9

      \[\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/10.9

      \[\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-sub7.2

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -2.980546173236131583756339022128634755969 \cdot 10^{-42} \lor \neg \left(t \le 7.255739940407829322320856061096335873167 \cdot 10^{-155}\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) - \frac{2}{t \cdot 3}\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 2020002 
(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)))))))))))