x - \frac{\left(y \cdot 2.0\right) \cdot z}{\left(z \cdot 2.0\right) \cdot z - y \cdot t}x - 2.0 \cdot \frac{1}{2.0 \cdot \frac{z}{y} - \frac{t}{z}}double f(double x, double y, double z, double t) {
double r25210136 = x;
double r25210137 = y;
double r25210138 = 2.0;
double r25210139 = r25210137 * r25210138;
double r25210140 = z;
double r25210141 = r25210139 * r25210140;
double r25210142 = r25210140 * r25210138;
double r25210143 = r25210142 * r25210140;
double r25210144 = t;
double r25210145 = r25210137 * r25210144;
double r25210146 = r25210143 - r25210145;
double r25210147 = r25210141 / r25210146;
double r25210148 = r25210136 - r25210147;
return r25210148;
}
double f(double x, double y, double z, double t) {
double r25210149 = x;
double r25210150 = 2.0;
double r25210151 = 1.0;
double r25210152 = z;
double r25210153 = y;
double r25210154 = r25210152 / r25210153;
double r25210155 = r25210150 * r25210154;
double r25210156 = t;
double r25210157 = r25210156 / r25210152;
double r25210158 = r25210155 - r25210157;
double r25210159 = r25210151 / r25210158;
double r25210160 = r25210150 * r25210159;
double r25210161 = r25210149 - r25210160;
return r25210161;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.7 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 11.7
Simplified3.0
rmApplied associate-/l*1.1
rmApplied clear-num1.2
Taylor expanded around 0 0.1
Final simplification0.1
herbie shell --seed 2019165
(FPCore (x y z t)
:name "Numeric.AD.Rank1.Halley:findZero from ad-4.2.4"
:herbie-target
(- x (/ 1 (- (/ z y) (/ (/ t 2.0) z))))
(- x (/ (* (* y 2.0) z) (- (* (* z 2.0) z) (* y t)))))