Average Error: 4.0 → 2.7
Time: 44.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)}}\]
\[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
\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)}}
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r393539 = x;
        double r393540 = y;
        double r393541 = 2.0;
        double r393542 = z;
        double r393543 = t;
        double r393544 = a;
        double r393545 = r393543 + r393544;
        double r393546 = sqrt(r393545);
        double r393547 = r393542 * r393546;
        double r393548 = r393547 / r393543;
        double r393549 = b;
        double r393550 = c;
        double r393551 = r393549 - r393550;
        double r393552 = 5.0;
        double r393553 = 6.0;
        double r393554 = r393552 / r393553;
        double r393555 = r393544 + r393554;
        double r393556 = 3.0;
        double r393557 = r393543 * r393556;
        double r393558 = r393541 / r393557;
        double r393559 = r393555 - r393558;
        double r393560 = r393551 * r393559;
        double r393561 = r393548 - r393560;
        double r393562 = r393541 * r393561;
        double r393563 = exp(r393562);
        double r393564 = r393540 * r393563;
        double r393565 = r393539 + r393564;
        double r393566 = r393539 / r393565;
        return r393566;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r393567 = x;
        double r393568 = y;
        double r393569 = 2.0;
        double r393570 = z;
        double r393571 = t;
        double r393572 = cbrt(r393571);
        double r393573 = r393572 * r393572;
        double r393574 = r393570 / r393573;
        double r393575 = a;
        double r393576 = r393571 + r393575;
        double r393577 = sqrt(r393576);
        double r393578 = r393577 / r393572;
        double r393579 = r393574 * r393578;
        double r393580 = b;
        double r393581 = c;
        double r393582 = r393580 - r393581;
        double r393583 = 5.0;
        double r393584 = 6.0;
        double r393585 = r393583 / r393584;
        double r393586 = r393575 + r393585;
        double r393587 = 3.0;
        double r393588 = r393571 * r393587;
        double r393589 = r393569 / r393588;
        double r393590 = r393586 - r393589;
        double r393591 = r393582 * r393590;
        double r393592 = r393579 - r393591;
        double r393593 = r393569 * r393592;
        double r393594 = exp(r393593);
        double r393595 = r393568 * r393594;
        double r393596 = r393567 + r393595;
        double r393597 = r393567 / r393596;
        return r393597;
}

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

Original4.0
Target2.9
Herbie2.7
\[\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. Initial program 4.0

    \[\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 add-cube-cbrt4.0

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

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

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

Reproduce

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

  :herbie-target
  (if (< t -2.1183266448915811e-50) (/ x (+ x (* y (exp (* 2 (- (+ (* a c) (* 0.83333333333333337 c)) (* a b))))))) (if (< t 5.19658877065154709e-123) (/ x (+ x (* y (exp (* 2 (/ (- (* (* z (sqrt (+ t a))) (* (* 3 t) (- a (/ 5 6)))) (* (- (* (+ (/ 5 6) a) (* 3 t)) 2) (* (- a (/ 5 6)) (* (- b c) t)))) (* (* (* t t) 3) (- a (/ 5 6))))))))) (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3))))))))))))

  (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))