Average Error: 4.1 → 2.9
Time: 17.1s
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 r381457 = x;
        double r381458 = y;
        double r381459 = 2.0;
        double r381460 = z;
        double r381461 = t;
        double r381462 = a;
        double r381463 = r381461 + r381462;
        double r381464 = sqrt(r381463);
        double r381465 = r381460 * r381464;
        double r381466 = r381465 / r381461;
        double r381467 = b;
        double r381468 = c;
        double r381469 = r381467 - r381468;
        double r381470 = 5.0;
        double r381471 = 6.0;
        double r381472 = r381470 / r381471;
        double r381473 = r381462 + r381472;
        double r381474 = 3.0;
        double r381475 = r381461 * r381474;
        double r381476 = r381459 / r381475;
        double r381477 = r381473 - r381476;
        double r381478 = r381469 * r381477;
        double r381479 = r381466 - r381478;
        double r381480 = r381459 * r381479;
        double r381481 = exp(r381480);
        double r381482 = r381458 * r381481;
        double r381483 = r381457 + r381482;
        double r381484 = r381457 / r381483;
        return r381484;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r381485 = x;
        double r381486 = y;
        double r381487 = 2.0;
        double r381488 = z;
        double r381489 = t;
        double r381490 = cbrt(r381489);
        double r381491 = r381490 * r381490;
        double r381492 = r381488 / r381491;
        double r381493 = a;
        double r381494 = r381489 + r381493;
        double r381495 = sqrt(r381494);
        double r381496 = r381495 / r381490;
        double r381497 = r381492 * r381496;
        double r381498 = b;
        double r381499 = c;
        double r381500 = r381498 - r381499;
        double r381501 = 5.0;
        double r381502 = 6.0;
        double r381503 = r381501 / r381502;
        double r381504 = r381493 + r381503;
        double r381505 = 3.0;
        double r381506 = r381489 * r381505;
        double r381507 = r381487 / r381506;
        double r381508 = r381504 - r381507;
        double r381509 = r381500 * r381508;
        double r381510 = r381497 - r381509;
        double r381511 = r381487 * r381510;
        double r381512 = exp(r381511);
        double r381513 = r381486 * r381512;
        double r381514 = r381485 + r381513;
        double r381515 = r381485 / r381514;
        return r381515;
}

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.1
Target3.2
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. Initial program 4.1

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

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

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

    \[\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 2019297 
(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)))))))))))