x + \frac{y \cdot \left(z - t\right)}{a}x + \frac{y \cdot \left(z - t\right)}{a}double f(double x, double y, double z, double t, double a) {
double r267565 = x;
double r267566 = y;
double r267567 = z;
double r267568 = t;
double r267569 = r267567 - r267568;
double r267570 = r267566 * r267569;
double r267571 = a;
double r267572 = r267570 / r267571;
double r267573 = r267565 + r267572;
return r267573;
}
double f(double x, double y, double z, double t, double a) {
double r267574 = x;
double r267575 = y;
double r267576 = z;
double r267577 = t;
double r267578 = r267576 - r267577;
double r267579 = r267575 * r267578;
double r267580 = a;
double r267581 = r267579 / r267580;
double r267582 = r267574 + r267581;
return r267582;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 6.0 |
|---|---|
| Target | 0.7 |
| Herbie | 6.0 |
if (* y (- z t)) < -8.764602780454589e+245Initial program 39.7
rmApplied associate-/l*0.6
if -8.764602780454589e+245 < (* y (- z t)) < 1.2359170032311252e+159Initial program 0.4
if 1.2359170032311252e+159 < (* y (- z t)) Initial program 21.2
rmApplied associate-/l*1.5
rmApplied div-inv1.5
Applied add-cube-cbrt2.2
Applied times-frac6.6
Simplified6.6
Taylor expanded around 0 21.2
Simplified1.6
Final simplification6.0
herbie shell --seed 2019297
(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.07612662163899753e-10) (+ x (/ 1 (/ (/ a (- z t)) y))) (if (< y 2.8944268627920891e-49) (+ x (/ (* y (- z t)) a)) (+ x (/ y (/ a (- z t))))))
(+ x (/ (* y (- z t)) a)))