?

Average Accuracy: 77.6% → 99.9%
Time: 4.6s
Precision: binary64
Cost: 448

?

\[\frac{1}{x + 1} - \frac{1}{x} \]
\[\frac{\frac{-1}{x}}{x + 1} \]
(FPCore (x) :precision binary64 (- (/ 1.0 (+ x 1.0)) (/ 1.0 x)))
(FPCore (x) :precision binary64 (/ (/ -1.0 x) (+ x 1.0)))
double code(double x) {
	return (1.0 / (x + 1.0)) - (1.0 / x);
}
double code(double x) {
	return (-1.0 / x) / (x + 1.0);
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = (1.0d0 / (x + 1.0d0)) - (1.0d0 / x)
end function
real(8) function code(x)
    real(8), intent (in) :: x
    code = ((-1.0d0) / x) / (x + 1.0d0)
end function
public static double code(double x) {
	return (1.0 / (x + 1.0)) - (1.0 / x);
}
public static double code(double x) {
	return (-1.0 / x) / (x + 1.0);
}
def code(x):
	return (1.0 / (x + 1.0)) - (1.0 / x)
def code(x):
	return (-1.0 / x) / (x + 1.0)
function code(x)
	return Float64(Float64(1.0 / Float64(x + 1.0)) - Float64(1.0 / x))
end
function code(x)
	return Float64(Float64(-1.0 / x) / Float64(x + 1.0))
end
function tmp = code(x)
	tmp = (1.0 / (x + 1.0)) - (1.0 / x);
end
function tmp = code(x)
	tmp = (-1.0 / x) / (x + 1.0);
end
code[x_] := N[(N[(1.0 / N[(x + 1.0), $MachinePrecision]), $MachinePrecision] - N[(1.0 / x), $MachinePrecision]), $MachinePrecision]
code[x_] := N[(N[(-1.0 / x), $MachinePrecision] / N[(x + 1.0), $MachinePrecision]), $MachinePrecision]
\frac{1}{x + 1} - \frac{1}{x}
\frac{\frac{-1}{x}}{x + 1}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Initial program 77.6%

    \[\frac{1}{x + 1} - \frac{1}{x} \]
  2. Applied egg-rr52.4%

    \[\leadsto \color{blue}{\sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{{\left(\frac{1}{1 + x} + \frac{-1}{x}\right)}^{2}}} \]
    Proof

    [Start]77.6

    \[ \frac{1}{x + 1} - \frac{1}{x} \]

    add-cube-cbrt [=>]76.6

    \[ \color{blue}{\left(\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}\right) \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}} \]

    associate-*l* [=>]76.6

    \[ \color{blue}{\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \left(\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}\right)} \]

    sub-neg [=>]76.6

    \[ \sqrt[3]{\color{blue}{\frac{1}{x + 1} + \left(-\frac{1}{x}\right)}} \cdot \left(\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}\right) \]

    +-commutative [=>]76.6

    \[ \sqrt[3]{\frac{1}{\color{blue}{1 + x}} + \left(-\frac{1}{x}\right)} \cdot \left(\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}\right) \]

    distribute-neg-frac [=>]76.6

    \[ \sqrt[3]{\frac{1}{1 + x} + \color{blue}{\frac{-1}{x}}} \cdot \left(\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}\right) \]

    metadata-eval [=>]76.6

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{\color{blue}{-1}}{x}} \cdot \left(\sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x + 1} - \frac{1}{x}}\right) \]

    cbrt-unprod [=>]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \color{blue}{\sqrt[3]{\left(\frac{1}{x + 1} - \frac{1}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{1}{x}\right)}} \]

    pow2 [=>]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{\color{blue}{{\left(\frac{1}{x + 1} - \frac{1}{x}\right)}^{2}}} \]

    sub-neg [=>]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{{\color{blue}{\left(\frac{1}{x + 1} + \left(-\frac{1}{x}\right)\right)}}^{2}} \]

    +-commutative [=>]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{{\left(\frac{1}{\color{blue}{1 + x}} + \left(-\frac{1}{x}\right)\right)}^{2}} \]

    distribute-neg-frac [=>]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{{\left(\frac{1}{1 + x} + \color{blue}{\frac{-1}{x}}\right)}^{2}} \]

    metadata-eval [=>]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{{\left(\frac{1}{1 + x} + \frac{\color{blue}{-1}}{x}\right)}^{2}} \]
  3. Simplified63.3%

    \[\leadsto \color{blue}{\sqrt[3]{\frac{-1}{x \cdot \left(x + 1\right)}} \cdot \sqrt[3]{{\left(\frac{-1}{x \cdot \left(x + 1\right)}\right)}^{2}}} \]
    Proof

    [Start]52.4

    \[ \sqrt[3]{\frac{1}{1 + x} + \frac{-1}{x}} \cdot \sqrt[3]{{\left(\frac{1}{1 + x} + \frac{-1}{x}\right)}^{2}} \]
  4. Applied egg-rr99.9%

    \[\leadsto \color{blue}{\frac{\frac{-1}{x}}{x + 1}} \]
    Proof

    [Start]63.3

    \[ \sqrt[3]{\frac{-1}{x \cdot \left(x + 1\right)}} \cdot \sqrt[3]{{\left(\frac{-1}{x \cdot \left(x + 1\right)}\right)}^{2}} \]

    *-commutative [=>]63.3

    \[ \color{blue}{\sqrt[3]{{\left(\frac{-1}{x \cdot \left(x + 1\right)}\right)}^{2}} \cdot \sqrt[3]{\frac{-1}{x \cdot \left(x + 1\right)}}} \]

    cbrt-prod [<=]50.9

    \[ \color{blue}{\sqrt[3]{{\left(\frac{-1}{x \cdot \left(x + 1\right)}\right)}^{2} \cdot \frac{-1}{x \cdot \left(x + 1\right)}}} \]

    unpow2 [=>]50.9

    \[ \sqrt[3]{\color{blue}{\left(\frac{-1}{x \cdot \left(x + 1\right)} \cdot \frac{-1}{x \cdot \left(x + 1\right)}\right)} \cdot \frac{-1}{x \cdot \left(x + 1\right)}} \]

    add-cbrt-cube [<=]99.3

    \[ \color{blue}{\frac{-1}{x \cdot \left(x + 1\right)}} \]

    associate-/r* [=>]99.9

    \[ \color{blue}{\frac{\frac{-1}{x}}{x + 1}} \]
  5. Final simplification99.9%

    \[\leadsto \frac{\frac{-1}{x}}{x + 1} \]

Alternatives

Alternative 1
Accuracy97.8%
Cost585
\[\begin{array}{l} \mathbf{if}\;x \leq -1 \lor \neg \left(x \leq 0.76\right):\\ \;\;\;\;\frac{-1}{x \cdot x}\\ \mathbf{else}:\\ \;\;\;\;1 + \frac{-1}{x}\\ \end{array} \]
Alternative 2
Accuracy98.4%
Cost585
\[\begin{array}{l} \mathbf{if}\;x \leq -1 \lor \neg \left(x \leq 0.76\right):\\ \;\;\;\;\frac{\frac{-1}{x}}{x}\\ \mathbf{else}:\\ \;\;\;\;1 + \frac{-1}{x}\\ \end{array} \]
Alternative 3
Accuracy99.3%
Cost448
\[\frac{-1}{x \cdot \left(x + 1\right)} \]
Alternative 4
Accuracy99.3%
Cost448
\[\frac{-1}{x + x \cdot x} \]
Alternative 5
Accuracy51.6%
Cost192
\[\frac{-1}{x} \]

Error

Reproduce?

herbie shell --seed 2023153 
(FPCore (x)
  :name "2frac (problem 3.3.1)"
  :precision binary64
  (- (/ 1.0 (+ x 1.0)) (/ 1.0 x)))