\frac{x0}{1 - x1} - x0\frac{\log \left(e^{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \left(\frac{x0}{{1}^{3} - {x1}^{3}} \cdot \left(1 \cdot 1 + \left(x1 \cdot x1 + 1 \cdot x1\right)\right)\right) - x0 \cdot x0}\right)}{\frac{x0}{1 - x1} + x0}double f(double x0, double x1) {
double r205273 = x0;
double r205274 = 1.0;
double r205275 = x1;
double r205276 = r205274 - r205275;
double r205277 = r205273 / r205276;
double r205278 = r205277 - r205273;
return r205278;
}
double f(double x0, double x1) {
double r205279 = x0;
double r205280 = 1.0;
double r205281 = r205280 * r205280;
double r205282 = x1;
double r205283 = r205282 * r205282;
double r205284 = r205281 - r205283;
double r205285 = r205279 / r205284;
double r205286 = r205280 + r205282;
double r205287 = r205285 * r205286;
double r205288 = 3.0;
double r205289 = pow(r205280, r205288);
double r205290 = pow(r205282, r205288);
double r205291 = r205289 - r205290;
double r205292 = r205279 / r205291;
double r205293 = r205280 * r205282;
double r205294 = r205283 + r205293;
double r205295 = r205281 + r205294;
double r205296 = r205292 * r205295;
double r205297 = r205287 * r205296;
double r205298 = r205279 * r205279;
double r205299 = r205297 - r205298;
double r205300 = exp(r205299);
double r205301 = log(r205300);
double r205302 = r205280 - r205282;
double r205303 = r205279 / r205302;
double r205304 = r205303 + r205279;
double r205305 = r205301 / r205304;
return r205305;
}




Bits error versus x0




Bits error versus x1
Results
| Original | 7.9 |
|---|---|
| Target | 0.3 |
| Herbie | 4.7 |
Initial program 7.9
rmApplied flip--7.3
rmApplied flip--5.6
Applied associate-/r/6.1
rmApplied add-log-exp6.1
Applied add-log-exp6.1
Applied diff-log5.8
Simplified5.8
rmApplied flip3--5.8
Applied associate-/r/4.7
Final simplification4.7
herbie shell --seed 2019353
(FPCore (x0 x1)
:name "(- (/ x0 (- 1 x1)) x0)"
:precision binary64
:pre (or (and (== x0 1.855) (== x1 0.000209)) (and (== x0 2.985) (== x1 0.0186)))
:herbie-target
(/ (* x0 x1) (- 1 x1))
(- (/ x0 (- 1 x1)) x0))