Average Error: 3.8 → 2.9
Time: 26.2s
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}\;a \le 2.108535095172928346218613549125577993008 \cdot 10^{241}:\\ \;\;\;\;\frac{x}{x + e^{\left(\left(\left(a - \frac{0.6666666666666666296592325124947819858789}{t}\right) + \frac{5}{6}\right) \cdot \left(c - b\right) + \left(\frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot z\right)\right) \cdot \frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}}\right) \cdot 2} \cdot y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + e^{2 \cdot \left(a \cdot \left(c - b\right) - b \cdot 0.8333333333333333703407674875052180141211\right)} \cdot y}\\ \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}\;a \le 2.108535095172928346218613549125577993008 \cdot 10^{241}:\\
\;\;\;\;\frac{x}{x + e^{\left(\left(\left(a - \frac{0.6666666666666666296592325124947819858789}{t}\right) + \frac{5}{6}\right) \cdot \left(c - b\right) + \left(\frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot z\right)\right) \cdot \frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}}\right) \cdot 2} \cdot y}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + e^{2 \cdot \left(a \cdot \left(c - b\right) - b \cdot 0.8333333333333333703407674875052180141211\right)} \cdot y}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r315676 = x;
        double r315677 = y;
        double r315678 = 2.0;
        double r315679 = z;
        double r315680 = t;
        double r315681 = a;
        double r315682 = r315680 + r315681;
        double r315683 = sqrt(r315682);
        double r315684 = r315679 * r315683;
        double r315685 = r315684 / r315680;
        double r315686 = b;
        double r315687 = c;
        double r315688 = r315686 - r315687;
        double r315689 = 5.0;
        double r315690 = 6.0;
        double r315691 = r315689 / r315690;
        double r315692 = r315681 + r315691;
        double r315693 = 3.0;
        double r315694 = r315680 * r315693;
        double r315695 = r315678 / r315694;
        double r315696 = r315692 - r315695;
        double r315697 = r315688 * r315696;
        double r315698 = r315685 - r315697;
        double r315699 = r315678 * r315698;
        double r315700 = exp(r315699);
        double r315701 = r315677 * r315700;
        double r315702 = r315676 + r315701;
        double r315703 = r315676 / r315702;
        return r315703;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r315704 = a;
        double r315705 = 2.1085350951729283e+241;
        bool r315706 = r315704 <= r315705;
        double r315707 = x;
        double r315708 = 0.6666666666666666;
        double r315709 = t;
        double r315710 = r315708 / r315709;
        double r315711 = r315704 - r315710;
        double r315712 = 5.0;
        double r315713 = 6.0;
        double r315714 = r315712 / r315713;
        double r315715 = r315711 + r315714;
        double r315716 = c;
        double r315717 = b;
        double r315718 = r315716 - r315717;
        double r315719 = r315715 * r315718;
        double r315720 = r315704 + r315709;
        double r315721 = sqrt(r315720);
        double r315722 = cbrt(r315721);
        double r315723 = cbrt(r315709);
        double r315724 = r315722 / r315723;
        double r315725 = z;
        double r315726 = r315724 * r315725;
        double r315727 = r315724 * r315726;
        double r315728 = r315727 * r315724;
        double r315729 = r315719 + r315728;
        double r315730 = 2.0;
        double r315731 = r315729 * r315730;
        double r315732 = exp(r315731);
        double r315733 = y;
        double r315734 = r315732 * r315733;
        double r315735 = r315707 + r315734;
        double r315736 = r315707 / r315735;
        double r315737 = r315704 * r315718;
        double r315738 = 0.8333333333333334;
        double r315739 = r315717 * r315738;
        double r315740 = r315737 - r315739;
        double r315741 = r315730 * r315740;
        double r315742 = exp(r315741);
        double r315743 = r315742 * r315733;
        double r315744 = r315707 + r315743;
        double r315745 = r315707 / r315744;
        double r315746 = r315706 ? r315736 : r315745;
        return r315746;
}

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

Target

Original3.8
Target2.8
Herbie2.9
\[\begin{array}{l} \mathbf{if}\;t \lt -2.118326644891581057561884576920117070548 \cdot 10^{-50}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.8333333333333333703407674875052180141211 \cdot c\right) - a \cdot b\right)}}\\ \mathbf{elif}\;t \lt 5.196588770651547088010424937268931048836 \cdot 10^{-123}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(3 \cdot t\right) \cdot \left(a - \frac{5}{6}\right)\right) - \left(\left(\frac{5}{6} + a\right) \cdot \left(3 \cdot t\right) - 2\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left(\left(t \cdot t\right) \cdot 3\right) \cdot \left(a - \frac{5}{6}\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\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)}}\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if a < 2.1085350951729283e+241

    1. Initial program 3.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. Simplified2.9

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

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

      \[\leadsto \frac{x}{y \cdot e^{2 \cdot \left(z \cdot \frac{\sqrt{a + t}}{t} + \left(c - b\right) \cdot \left(\left(a - \color{blue}{\frac{0.6666666666666666296592325124947819858789}{t}}\right) + \frac{5}{6}\right)\right)} + x}\]
    6. Using strategy rm
    7. Applied add-cube-cbrt2.9

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

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

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

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

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

    if 2.1085350951729283e+241 < a

    1. Initial program 8.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. Simplified8.5

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

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

      \[\leadsto \frac{x}{y \cdot e^{2 \cdot \color{blue}{\left(a \cdot c - \left(a \cdot b + 0.8333333333333333703407674875052180141211 \cdot b\right)\right)}} + x}\]
    6. Simplified7.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le 2.108535095172928346218613549125577993008 \cdot 10^{241}:\\ \;\;\;\;\frac{x}{x + e^{\left(\left(\left(a - \frac{0.6666666666666666296592325124947819858789}{t}\right) + \frac{5}{6}\right) \cdot \left(c - b\right) + \left(\frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot z\right)\right) \cdot \frac{\sqrt[3]{\sqrt{a + t}}}{\sqrt[3]{t}}\right) \cdot 2} \cdot y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + e^{2 \cdot \left(a \cdot \left(c - b\right) - b \cdot 0.8333333333333333703407674875052180141211\right)} \cdot y}\\ \end{array}\]

Reproduce

herbie shell --seed 2019194 
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"

  :herbie-target
  (if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2.0 (/ (- (* (* z (sqrt (+ t a))) (* (* 3.0 t) (- a (/ 5.0 6.0)))) (* (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0) (* (- a (/ 5.0 6.0)) (* (- b c) t)))) (* (* (* t t) 3.0) (- a (/ 5.0 6.0))))))))) (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))

  (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))