Average Error: 3.7 → 1.1
Time: 6.6m
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 -1.1612391247182872 \cdot 10^{-132}:\\ \;\;\;\;\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 7.549000311467359 \cdot 10^{-128}:\\ \;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{1}{t} \cdot \left(\frac{z}{\frac{1}{\sqrt{t + a}}} - \frac{\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) \cdot \left(t \cdot 3.0\right) - 2.0\right)}{\frac{\frac{a - \frac{5.0}{6.0}}{\frac{t}{t \cdot 3.0}}}{b - c}}\right)\right)} \cdot y}\\ \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 -1.1612391247182872 \cdot 10^{-132}:\\
\;\;\;\;\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 7.549000311467359 \cdot 10^{-128}:\\
\;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{1}{t} \cdot \left(\frac{z}{\frac{1}{\sqrt{t + a}}} - \frac{\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) \cdot \left(t \cdot 3.0\right) - 2.0\right)}{\frac{\frac{a - \frac{5.0}{6.0}}{\frac{t}{t \cdot 3.0}}}{b - c}}\right)\right)} \cdot y}\\

\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 r73516586 = x;
        double r73516587 = y;
        double r73516588 = 2.0;
        double r73516589 = z;
        double r73516590 = t;
        double r73516591 = a;
        double r73516592 = r73516590 + r73516591;
        double r73516593 = sqrt(r73516592);
        double r73516594 = r73516589 * r73516593;
        double r73516595 = r73516594 / r73516590;
        double r73516596 = b;
        double r73516597 = c;
        double r73516598 = r73516596 - r73516597;
        double r73516599 = 5.0;
        double r73516600 = 6.0;
        double r73516601 = r73516599 / r73516600;
        double r73516602 = r73516591 + r73516601;
        double r73516603 = 3.0;
        double r73516604 = r73516590 * r73516603;
        double r73516605 = r73516588 / r73516604;
        double r73516606 = r73516602 - r73516605;
        double r73516607 = r73516598 * r73516606;
        double r73516608 = r73516595 - r73516607;
        double r73516609 = r73516588 * r73516608;
        double r73516610 = exp(r73516609);
        double r73516611 = r73516587 * r73516610;
        double r73516612 = r73516586 + r73516611;
        double r73516613 = r73516586 / r73516612;
        return r73516613;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r73516614 = t;
        double r73516615 = -1.1612391247182872e-132;
        bool r73516616 = r73516614 <= r73516615;
        double r73516617 = x;
        double r73516618 = y;
        double r73516619 = z;
        double r73516620 = a;
        double r73516621 = r73516614 + r73516620;
        double r73516622 = sqrt(r73516621);
        double r73516623 = r73516614 / r73516622;
        double r73516624 = r73516619 / r73516623;
        double r73516625 = b;
        double r73516626 = c;
        double r73516627 = r73516625 - r73516626;
        double r73516628 = 5.0;
        double r73516629 = 6.0;
        double r73516630 = r73516628 / r73516629;
        double r73516631 = r73516630 + r73516620;
        double r73516632 = 2.0;
        double r73516633 = 3.0;
        double r73516634 = r73516614 * r73516633;
        double r73516635 = r73516632 / r73516634;
        double r73516636 = r73516631 - r73516635;
        double r73516637 = r73516627 * r73516636;
        double r73516638 = r73516624 - r73516637;
        double r73516639 = r73516638 * r73516632;
        double r73516640 = exp(r73516639);
        double r73516641 = r73516618 * r73516640;
        double r73516642 = r73516641 + r73516617;
        double r73516643 = r73516617 / r73516642;
        double r73516644 = 7.549000311467359e-128;
        bool r73516645 = r73516614 <= r73516644;
        double r73516646 = 1.0;
        double r73516647 = r73516646 / r73516614;
        double r73516648 = r73516646 / r73516622;
        double r73516649 = r73516619 / r73516648;
        double r73516650 = r73516620 - r73516630;
        double r73516651 = r73516631 * r73516634;
        double r73516652 = r73516651 - r73516632;
        double r73516653 = r73516650 * r73516652;
        double r73516654 = r73516614 / r73516634;
        double r73516655 = r73516650 / r73516654;
        double r73516656 = r73516655 / r73516627;
        double r73516657 = r73516653 / r73516656;
        double r73516658 = r73516649 - r73516657;
        double r73516659 = r73516647 * r73516658;
        double r73516660 = r73516632 * r73516659;
        double r73516661 = exp(r73516660);
        double r73516662 = r73516661 * r73516618;
        double r73516663 = r73516617 + r73516662;
        double r73516664 = r73516617 / r73516663;
        double r73516665 = r73516645 ? r73516664 : r73516643;
        double r73516666 = r73516616 ? r73516643 : r73516665;
        return r73516666;
}

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 < -1.1612391247182872e-132 or 7.549000311467359e-128 < t

    1. Initial program 2.2

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

      \[\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 -1.1612391247182872e-132 < t < 7.549000311467359e-128

    1. Initial program 7.3

      \[\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-+11.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-sub11.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/11.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-sub8.0

      \[\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)}}}}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity8.0

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \frac{\color{blue}{1 \cdot \left(\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)\right)}}{t \cdot \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)\right)}}}\]
    9. Applied times-frac7.4

      \[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \color{blue}{\left(\frac{1}{t} \cdot \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)}{\left(a - \frac{5.0}{6.0}\right) \cdot \left(t \cdot 3.0\right)}\right)}}}\]
    10. Simplified1.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1.1612391247182872 \cdot 10^{-132}:\\ \;\;\;\;\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 7.549000311467359 \cdot 10^{-128}:\\ \;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{1}{t} \cdot \left(\frac{z}{\frac{1}{\sqrt{t + a}}} - \frac{\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) \cdot \left(t \cdot 3.0\right) - 2.0\right)}{\frac{\frac{a - \frac{5.0}{6.0}}{\frac{t}{t \cdot 3.0}}}{b - c}}\right)\right)} \cdot y}\\ \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 2019125 
(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)))))))))))