Average Error: 7.9 → 4.7
Time: 9.2s
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)}{x0 + \frac{x0}{1 - x1}}\]
\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)}{x0 + \frac{x0}{1 - x1}}
double f(double x0, double x1) {
        double r114702 = x0;
        double r114703 = 1.0;
        double r114704 = x1;
        double r114705 = r114703 - r114704;
        double r114706 = r114702 / r114705;
        double r114707 = r114706 - r114702;
        return r114707;
}

double f(double x0, double x1) {
        double r114708 = x0;
        double r114709 = 1.0;
        double r114710 = r114709 * r114709;
        double r114711 = x1;
        double r114712 = r114711 * r114711;
        double r114713 = r114710 - r114712;
        double r114714 = r114708 / r114713;
        double r114715 = r114709 + r114711;
        double r114716 = r114714 * r114715;
        double r114717 = 3.0;
        double r114718 = pow(r114709, r114717);
        double r114719 = pow(r114711, r114717);
        double r114720 = r114718 - r114719;
        double r114721 = r114708 / r114720;
        double r114722 = r114709 * r114711;
        double r114723 = r114712 + r114722;
        double r114724 = r114710 + r114723;
        double r114725 = r114721 * r114724;
        double r114726 = r114716 * r114725;
        double r114727 = r114708 * r114708;
        double r114728 = r114726 - r114727;
        double r114729 = exp(r114728);
        double r114730 = log(r114729);
        double r114731 = r114709 - r114711;
        double r114732 = r114708 / r114731;
        double r114733 = r114708 + r114732;
        double r114734 = r114730 / r114733;
        return r114734;
}

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.2
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. Simplified7.3

    \[\leadsto \frac{\frac{x0}{1 - x1} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}{\color{blue}{x0 + \frac{x0}{1 - x1}}}\]
  5. Using strategy rm
  6. 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}{x0 + \frac{x0}{1 - x1}}\]
  7. Applied associate-/r/6.2

    \[\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}{x0 + \frac{x0}{1 - x1}}\]
  8. Using strategy rm
  9. Applied add-log-exp6.2

    \[\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)}}{x0 + \frac{x0}{1 - x1}}\]
  10. Applied add-log-exp6.2

    \[\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)}{x0 + \frac{x0}{1 - x1}}\]
  11. 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)}}{x0 + \frac{x0}{1 - x1}}\]
  12. 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)}}{x0 + \frac{x0}{1 - x1}}\]
  13. Using strategy rm
  14. 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)}{x0 + \frac{x0}{1 - x1}}\]
  15. 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)}{x0 + \frac{x0}{1 - x1}}\]
  16. 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)}{x0 + \frac{x0}{1 - x1}}\]

Reproduce

herbie shell --seed 2019208 
(FPCore (x0 x1)
  :name "(- (/ x0 (- 1 x1)) x0)"
  :precision binary64
  :pre (or (and (== x0 1.855) (== x1 2.09000000000000012e-4)) (and (== x0 2.98499999999999988) (== x1 0.018599999999999998)))

  :herbie-target
  (/ (* x0 x1) (- 1 x1))

  (- (/ x0 (- 1 x1)) x0))