x - \frac{\left(y \cdot 2\right) \cdot z}{\left(z \cdot 2\right) \cdot z - y \cdot t}x - \frac{2}{\frac{z \cdot 2}{y} - \frac{t}{z}}double f(double x, double y, double z, double t) {
double r1141311 = x;
double r1141312 = y;
double r1141313 = 2.0;
double r1141314 = r1141312 * r1141313;
double r1141315 = z;
double r1141316 = r1141314 * r1141315;
double r1141317 = r1141315 * r1141313;
double r1141318 = r1141317 * r1141315;
double r1141319 = t;
double r1141320 = r1141312 * r1141319;
double r1141321 = r1141318 - r1141320;
double r1141322 = r1141316 / r1141321;
double r1141323 = r1141311 - r1141322;
return r1141323;
}
double f(double x, double y, double z, double t) {
double r1141324 = x;
double r1141325 = 2.0;
double r1141326 = z;
double r1141327 = r1141326 * r1141325;
double r1141328 = y;
double r1141329 = r1141327 / r1141328;
double r1141330 = t;
double r1141331 = r1141330 / r1141326;
double r1141332 = r1141329 - r1141331;
double r1141333 = r1141325 / r1141332;
double r1141334 = r1141324 - r1141333;
return r1141334;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.4 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 11.4
Simplified0.1
Final simplification0.1
herbie shell --seed 2020047
(FPCore (x y z t)
:name "Numeric.AD.Rank1.Halley:findZero from ad-4.2.4"
:precision binary64
:herbie-target
(- x (/ 1 (- (/ z y) (/ (/ t 2) z))))
(- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))))