Average Error: 6.4 → 1.0
Time: 24.2s
Precision: 64
\[x + \frac{y \cdot \left(z - x\right)}{t}\]
\[\left(\left(z - x\right) \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{t}} + x\]
x + \frac{y \cdot \left(z - x\right)}{t}
\left(\left(z - x\right) \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{t}} + x
double f(double x, double y, double z, double t) {
        double r215523 = x;
        double r215524 = y;
        double r215525 = z;
        double r215526 = r215525 - r215523;
        double r215527 = r215524 * r215526;
        double r215528 = t;
        double r215529 = r215527 / r215528;
        double r215530 = r215523 + r215529;
        return r215530;
}

double f(double x, double y, double z, double t) {
        double r215531 = z;
        double r215532 = x;
        double r215533 = r215531 - r215532;
        double r215534 = y;
        double r215535 = cbrt(r215534);
        double r215536 = r215535 * r215535;
        double r215537 = t;
        double r215538 = cbrt(r215537);
        double r215539 = r215538 * r215538;
        double r215540 = r215536 / r215539;
        double r215541 = r215533 * r215540;
        double r215542 = r215535 / r215538;
        double r215543 = r215541 * r215542;
        double r215544 = r215543 + r215532;
        return r215544;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original6.4
Target2.2
Herbie1.0
\[x - \left(x \cdot \frac{y}{t} + \left(-z\right) \cdot \frac{y}{t}\right)\]

Derivation

  1. Initial program 6.4

    \[x + \frac{y \cdot \left(z - x\right)}{t}\]
  2. Simplified2.2

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{t}, z - x, x\right)}\]
  3. Using strategy rm
  4. Applied fma-udef2.2

    \[\leadsto \color{blue}{\frac{y}{t} \cdot \left(z - x\right) + x}\]
  5. Simplified2.2

    \[\leadsto \color{blue}{\left(z - x\right) \cdot \frac{y}{t}} + x\]
  6. Using strategy rm
  7. Applied add-cube-cbrt2.7

    \[\leadsto \left(z - x\right) \cdot \frac{y}{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}} + x\]
  8. Applied add-cube-cbrt2.8

    \[\leadsto \left(z - x\right) \cdot \frac{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}} + x\]
  9. Applied times-frac2.8

    \[\leadsto \left(z - x\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{t}}\right)} + x\]
  10. Applied associate-*r*1.0

    \[\leadsto \color{blue}{\left(\left(z - x\right) \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{t}}} + x\]
  11. Final simplification1.0

    \[\leadsto \left(\left(z - x\right) \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{t}} + x\]

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (x y z t)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, D"
  :precision binary64

  :herbie-target
  (- x (+ (* x (/ y t)) (* (- z) (/ y t))))

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