Average Error: 6.0 → 0.9
Time: 9.6s
Precision: 64
\[x + \frac{y \cdot \left(z - t\right)}{a}\]
\[x + \frac{1}{\frac{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\frac{z - t}{\frac{\sqrt[3]{a}}{\sqrt[3]{y}}}}}\]
x + \frac{y \cdot \left(z - t\right)}{a}
x + \frac{1}{\frac{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\frac{z - t}{\frac{\sqrt[3]{a}}{\sqrt[3]{y}}}}}
double f(double x, double y, double z, double t, double a) {
        double r315397 = x;
        double r315398 = y;
        double r315399 = z;
        double r315400 = t;
        double r315401 = r315399 - r315400;
        double r315402 = r315398 * r315401;
        double r315403 = a;
        double r315404 = r315402 / r315403;
        double r315405 = r315397 + r315404;
        return r315405;
}

double f(double x, double y, double z, double t, double a) {
        double r315406 = x;
        double r315407 = 1.0;
        double r315408 = a;
        double r315409 = cbrt(r315408);
        double r315410 = r315409 * r315409;
        double r315411 = y;
        double r315412 = cbrt(r315411);
        double r315413 = r315412 * r315412;
        double r315414 = r315410 / r315413;
        double r315415 = z;
        double r315416 = t;
        double r315417 = r315415 - r315416;
        double r315418 = r315409 / r315412;
        double r315419 = r315417 / r315418;
        double r315420 = r315414 / r315419;
        double r315421 = r315407 / r315420;
        double r315422 = r315406 + r315421;
        return r315422;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original6.0
Target0.6
Herbie0.9
\[\begin{array}{l} \mathbf{if}\;y \lt -1.07612662163899753 \cdot 10^{-10}:\\ \;\;\;\;x + \frac{1}{\frac{\frac{a}{z - t}}{y}}\\ \mathbf{elif}\;y \lt 2.8944268627920891 \cdot 10^{-49}:\\ \;\;\;\;x + \frac{y \cdot \left(z - t\right)}{a}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{y}{\frac{a}{z - t}}\\ \end{array}\]

Derivation

  1. Initial program 6.0

    \[x + \frac{y \cdot \left(z - t\right)}{a}\]
  2. Using strategy rm
  3. Applied sub-neg6.0

    \[\leadsto x + \frac{y \cdot \color{blue}{\left(z + \left(-t\right)\right)}}{a}\]
  4. Applied distribute-lft-in6.0

    \[\leadsto x + \frac{\color{blue}{y \cdot z + y \cdot \left(-t\right)}}{a}\]
  5. Using strategy rm
  6. Applied clear-num6.1

    \[\leadsto x + \color{blue}{\frac{1}{\frac{a}{y \cdot z + y \cdot \left(-t\right)}}}\]
  7. Simplified2.6

    \[\leadsto x + \frac{1}{\color{blue}{\frac{\frac{a}{y}}{z - t}}}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt3.0

    \[\leadsto x + \frac{1}{\frac{\frac{a}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}}{z - t}}\]
  10. Applied add-cube-cbrt3.2

    \[\leadsto x + \frac{1}{\frac{\frac{\color{blue}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}{z - t}}\]
  11. Applied times-frac3.2

    \[\leadsto x + \frac{1}{\frac{\color{blue}{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\sqrt[3]{a}}{\sqrt[3]{y}}}}{z - t}}\]
  12. Applied associate-/l*0.9

    \[\leadsto x + \frac{1}{\color{blue}{\frac{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\frac{z - t}{\frac{\sqrt[3]{a}}{\sqrt[3]{y}}}}}}\]
  13. Final simplification0.9

    \[\leadsto x + \frac{1}{\frac{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\frac{z - t}{\frac{\sqrt[3]{a}}{\sqrt[3]{y}}}}}\]

Reproduce

herbie shell --seed 2020049 
(FPCore (x y z t a)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, E"
  :precision binary64

  :herbie-target
  (if (< y -1.0761266216389975e-10) (+ x (/ 1 (/ (/ a (- z t)) y))) (if (< y 2.894426862792089e-49) (+ x (/ (* y (- z t)) a)) (+ x (/ y (/ a (- z t))))))

  (+ x (/ (* y (- z t)) a)))