Average Error: 7.8 → 2.0
Time: 11.5s
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\]
\[\begin{array}{l} \mathbf{if}\;x1 \le 4.395203247070312213215514951514251151821 \cdot 10^{-4}:\\ \;\;\;\;\frac{x0 \cdot \frac{\log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right) + \log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\\ \mathbf{else}:\\ \;\;\;\;\frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{{\left(\sqrt{1} + \sqrt{x1}\right)}^{6} \cdot {\left(\sqrt{1} - \sqrt{x1}\right)}^{6}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\\ \end{array}\]
\frac{x0}{1 - x1} - x0
\begin{array}{l}
\mathbf{if}\;x1 \le 4.395203247070312213215514951514251151821 \cdot 10^{-4}:\\
\;\;\;\;\frac{x0 \cdot \frac{\log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right) + \log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\\

\mathbf{else}:\\
\;\;\;\;\frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{{\left(\sqrt{1} + \sqrt{x1}\right)}^{6} \cdot {\left(\sqrt{1} - \sqrt{x1}\right)}^{6}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\\

\end{array}
double f(double x0, double x1) {
        double r154164 = x0;
        double r154165 = 1.0;
        double r154166 = x1;
        double r154167 = r154165 - r154166;
        double r154168 = r154164 / r154167;
        double r154169 = r154168 - r154164;
        return r154169;
}

double f(double x0, double x1) {
        double r154170 = x1;
        double r154171 = 0.0004395203247070312;
        bool r154172 = r154170 <= r154171;
        double r154173 = x0;
        double r154174 = 3.0;
        double r154175 = pow(r154173, r154174);
        double r154176 = 1.0;
        double r154177 = r154176 - r154170;
        double r154178 = 6.0;
        double r154179 = pow(r154177, r154178);
        double r154180 = r154175 / r154179;
        double r154181 = r154180 - r154175;
        double r154182 = exp(r154181);
        double r154183 = sqrt(r154182);
        double r154184 = log(r154183);
        double r154185 = r154184 + r154184;
        double r154186 = r154173 * r154173;
        double r154187 = r154177 * r154177;
        double r154188 = r154173 / r154187;
        double r154189 = r154188 + r154173;
        double r154190 = r154189 * r154188;
        double r154191 = r154186 + r154190;
        double r154192 = r154185 / r154191;
        double r154193 = r154173 * r154192;
        double r154194 = r154173 / r154177;
        double r154195 = r154194 + r154173;
        double r154196 = r154193 / r154195;
        double r154197 = sqrt(r154176);
        double r154198 = sqrt(r154170);
        double r154199 = r154197 + r154198;
        double r154200 = pow(r154199, r154178);
        double r154201 = r154197 - r154198;
        double r154202 = pow(r154201, r154178);
        double r154203 = r154200 * r154202;
        double r154204 = r154175 / r154203;
        double r154205 = r154204 - r154175;
        double r154206 = exp(r154205);
        double r154207 = log(r154206);
        double r154208 = r154207 / r154191;
        double r154209 = r154173 * r154208;
        double r154210 = r154209 / r154195;
        double r154211 = r154172 ? r154196 : r154210;
        return r154211;
}

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.8
Target0.3
Herbie2.0
\[\frac{x0 \cdot x1}{1 - x1}\]

Derivation

  1. Split input into 2 regimes
  2. if x1 < 0.0004395203247070312

    1. Initial program 11.2

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

      \[\leadsto \color{blue}{\frac{\frac{x0}{1 - x1} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}{\frac{x0}{1 - x1} + x0}}\]
    4. Simplified8.7

      \[\leadsto \frac{\color{blue}{x0 \cdot \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} - x0\right)}}{\frac{x0}{1 - x1} + x0}\]
    5. Using strategy rm
    6. Applied flip3--5.9

      \[\leadsto \frac{x0 \cdot \color{blue}{\frac{{\left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}\right)}^{3} - {x0}^{3}}{\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + \left(x0 \cdot x0 + \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} \cdot x0\right)}}}{\frac{x0}{1 - x1} + x0}\]
    7. Simplified5.9

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

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

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

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

      \[\leadsto \frac{x0 \cdot \frac{\log \color{blue}{\left(e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}\right)}}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    13. Using strategy rm
    14. Applied add-sqr-sqrt3.5

      \[\leadsto \frac{x0 \cdot \frac{\log \color{blue}{\left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}} \cdot \sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right)}}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    15. Applied log-prod2.5

      \[\leadsto \frac{x0 \cdot \frac{\color{blue}{\log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right) + \log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right)}}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]

    if 0.0004395203247070312 < x1

    1. Initial program 4.5

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

      \[\leadsto \color{blue}{\frac{\frac{x0}{1 - x1} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}{\frac{x0}{1 - x1} + x0}}\]
    4. Simplified3.9

      \[\leadsto \frac{\color{blue}{x0 \cdot \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} - x0\right)}}{\frac{x0}{1 - x1} + x0}\]
    5. Using strategy rm
    6. Applied flip3--3.9

      \[\leadsto \frac{x0 \cdot \color{blue}{\frac{{\left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}\right)}^{3} - {x0}^{3}}{\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + \left(x0 \cdot x0 + \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} \cdot x0\right)}}}{\frac{x0}{1 - x1} + x0}\]
    7. Simplified3.9

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

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

      \[\leadsto \frac{x0 \cdot \frac{\color{blue}{\log \left(e^{{\left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}\right)}^{3}}\right)} - \log \left(e^{{x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    11. Applied diff-log4.0

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

      \[\leadsto \frac{x0 \cdot \frac{\log \color{blue}{\left(e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}\right)}}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    13. Using strategy rm
    14. Applied add-sqr-sqrt3.9

      \[\leadsto \frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{{\left(1 - \color{blue}{\sqrt{x1} \cdot \sqrt{x1}}\right)}^{6}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    15. Applied add-sqr-sqrt3.9

      \[\leadsto \frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{{\left(\color{blue}{\sqrt{1} \cdot \sqrt{1}} - \sqrt{x1} \cdot \sqrt{x1}\right)}^{6}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    16. Applied difference-of-squares3.9

      \[\leadsto \frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{{\color{blue}{\left(\left(\sqrt{1} + \sqrt{x1}\right) \cdot \left(\sqrt{1} - \sqrt{x1}\right)\right)}}^{6}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
    17. Applied unpow-prod-down1.6

      \[\leadsto \frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{\color{blue}{{\left(\sqrt{1} + \sqrt{x1}\right)}^{6} \cdot {\left(\sqrt{1} - \sqrt{x1}\right)}^{6}}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \le 4.395203247070312213215514951514251151821 \cdot 10^{-4}:\\ \;\;\;\;\frac{x0 \cdot \frac{\log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right) + \log \left(\sqrt{e^{\frac{{x0}^{3}}{{\left(1 - x1\right)}^{6}} - {x0}^{3}}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\\ \mathbf{else}:\\ \;\;\;\;\frac{x0 \cdot \frac{\log \left(e^{\frac{{x0}^{3}}{{\left(\sqrt{1} + \sqrt{x1}\right)}^{6} \cdot {\left(\sqrt{1} - \sqrt{x1}\right)}^{6}} - {x0}^{3}}\right)}{x0 \cdot x0 + \left(\frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)} + x0\right) \cdot \frac{x0}{\left(1 - x1\right) \cdot \left(1 - x1\right)}}}{\frac{x0}{1 - x1} + x0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019306 
(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))