x + \frac{y \cdot \left(z - x\right)}{t}x + \frac{y}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{z - x}{\sqrt[3]{t}}double f(double x, double y, double z, double t) {
double r216582 = x;
double r216583 = y;
double r216584 = z;
double r216585 = r216584 - r216582;
double r216586 = r216583 * r216585;
double r216587 = t;
double r216588 = r216586 / r216587;
double r216589 = r216582 + r216588;
return r216589;
}
double f(double x, double y, double z, double t) {
double r216590 = x;
double r216591 = y;
double r216592 = t;
double r216593 = cbrt(r216592);
double r216594 = r216593 * r216593;
double r216595 = r216591 / r216594;
double r216596 = z;
double r216597 = r216596 - r216590;
double r216598 = r216597 / r216593;
double r216599 = r216595 * r216598;
double r216600 = r216590 + r216599;
return r216600;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 6.6 |
|---|---|
| Target | 2.1 |
| Herbie | 3.3 |
Initial program 6.6
rmApplied add-cube-cbrt7.0
Applied times-frac3.3
Final simplification3.3
herbie shell --seed 2019325 +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)))