Average Error: 4.0 → 2.7
Time: 11.8s
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 r1051337 = x;
        double r1051338 = y;
        double r1051339 = 2.0;
        double r1051340 = z;
        double r1051341 = t;
        double r1051342 = a;
        double r1051343 = r1051341 + r1051342;
        double r1051344 = sqrt(r1051343);
        double r1051345 = r1051340 * r1051344;
        double r1051346 = r1051345 / r1051341;
        double r1051347 = b;
        double r1051348 = c;
        double r1051349 = r1051347 - r1051348;
        double r1051350 = 5.0;
        double r1051351 = 6.0;
        double r1051352 = r1051350 / r1051351;
        double r1051353 = r1051342 + r1051352;
        double r1051354 = 3.0;
        double r1051355 = r1051341 * r1051354;
        double r1051356 = r1051339 / r1051355;
        double r1051357 = r1051353 - r1051356;
        double r1051358 = r1051349 * r1051357;
        double r1051359 = r1051346 - r1051358;
        double r1051360 = r1051339 * r1051359;
        double r1051361 = exp(r1051360);
        double r1051362 = r1051338 * r1051361;
        double r1051363 = r1051337 + r1051362;
        double r1051364 = r1051337 / r1051363;
        return r1051364;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r1051365 = x;
        double r1051366 = y;
        double r1051367 = 2.0;
        double r1051368 = z;
        double r1051369 = t;
        double r1051370 = cbrt(r1051369);
        double r1051371 = r1051370 * r1051370;
        double r1051372 = r1051368 / r1051371;
        double r1051373 = a;
        double r1051374 = r1051369 + r1051373;
        double r1051375 = sqrt(r1051374);
        double r1051376 = r1051375 / r1051370;
        double r1051377 = r1051372 * r1051376;
        double r1051378 = b;
        double r1051379 = c;
        double r1051380 = r1051378 - r1051379;
        double r1051381 = 5.0;
        double r1051382 = 6.0;
        double r1051383 = r1051381 / r1051382;
        double r1051384 = r1051373 + r1051383;
        double r1051385 = 3.0;
        double r1051386 = r1051369 * r1051385;
        double r1051387 = r1051367 / r1051386;
        double r1051388 = r1051384 - r1051387;
        double r1051389 = r1051380 * r1051388;
        double r1051390 = r1051377 - r1051389;
        double r1051391 = r1051367 * r1051390;
        double r1051392 = exp(r1051391);
        double r1051393 = r1051366 * r1051392;
        double r1051394 = r1051365 + r1051393;
        double r1051395 = r1051365 / r1051394;
        return r1051395;
}

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
Target3.1
Herbie2.7
\[\begin{array}{l} \mathbf{if}\;t \lt -2.1183266448915811 \cdot 10^{-50}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.83333333333333337 \cdot c\right) - a \cdot b\right)}}\\ \mathbf{elif}\;t \lt 5.19658877065154709 \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 2020047 
(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.118326644891581e-50) (/ x (+ x (* y (exp (* 2 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-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)))))))))))