Average Error: 7.9 → 4.7
Time: 3.9s
Precision: 64
\[x0 = 1.854999999999999982236431605997495353222 \land x1 = 2.090000000000000115064208161541614572343 \cdot 10^{-4} \lor x0 = 2.984999999999999875655021241982467472553 \land x1 = 0.01859999999999999847899445626353553961962\]
\[\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}\]
\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;
}

Error

Bits error versus x0

Bits error versus x1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original7.9
Target0.3
Herbie4.7
\[\frac{x0 \cdot x1}{1 - x1}\]

Derivation

  1. Initial program 7.9

    \[\frac{x0}{1 - x1} - x0\]
  2. Using strategy rm
  3. Applied flip--7.3

    \[\leadsto \color{blue}{\frac{\frac{x0}{1 - x1} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}{\frac{x0}{1 - x1} + x0}}\]
  4. Using strategy rm
  5. Applied flip--5.6

    \[\leadsto \frac{\frac{x0}{\color{blue}{\frac{1 \cdot 1 - x1 \cdot x1}{1 + x1}}} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}{\frac{x0}{1 - x1} + x0}\]
  6. Applied associate-/r/6.1

    \[\leadsto \frac{\color{blue}{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right)} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}{\frac{x0}{1 - x1} + x0}\]
  7. Using strategy rm
  8. Applied add-log-exp6.1

    \[\leadsto \frac{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \frac{x0}{1 - x1} - \color{blue}{\log \left(e^{x0 \cdot x0}\right)}}{\frac{x0}{1 - x1} + x0}\]
  9. Applied add-log-exp6.1

    \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \frac{x0}{1 - x1}}\right)} - \log \left(e^{x0 \cdot x0}\right)}{\frac{x0}{1 - x1} + x0}\]
  10. Applied diff-log5.8

    \[\leadsto \frac{\color{blue}{\log \left(\frac{e^{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \frac{x0}{1 - x1}}}{e^{x0 \cdot x0}}\right)}}{\frac{x0}{1 - x1} + x0}\]
  11. Simplified5.8

    \[\leadsto \frac{\log \color{blue}{\left(e^{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \frac{x0}{1 - x1} - x0 \cdot x0}\right)}}{\frac{x0}{1 - x1} + x0}\]
  12. Using strategy rm
  13. Applied flip3--5.8

    \[\leadsto \frac{\log \left(e^{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \frac{x0}{\color{blue}{\frac{{1}^{3} - {x1}^{3}}{1 \cdot 1 + \left(x1 \cdot x1 + 1 \cdot x1\right)}}} - x0 \cdot x0}\right)}{\frac{x0}{1 - x1} + x0}\]
  14. Applied associate-/r/4.7

    \[\leadsto \frac{\log \left(e^{\left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) \cdot \color{blue}{\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}\]
  15. Final simplification4.7

    \[\leadsto \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}\]

Reproduce

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))