\[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
\]
↓
\[\begin{array}{l}
t_0 := x \cdot \left(x + -1\right)\\
t_1 := \frac{1}{x + -1} + \left(\frac{1}{1 + x} + \frac{-2}{x}\right)\\
t_2 := x \cdot \left(1 + x\right)\\
\mathbf{if}\;t_1 \leq -0.004:\\
\;\;\;\;\frac{\frac{t_0 + \left(1 + x\right) \cdot \left(2 - x\right)}{1 + x}}{t_0}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;\frac{2}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_2 + \left(x + -1\right) \cdot \left(x + \left(1 + x\right) \cdot -2\right)}{\left(x + -1\right) \cdot t_2}\\
\end{array}
\]
(FPCore (x)
:precision binary64
(+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0))))
↓
(FPCore (x)
:precision binary64
(let* ((t_0 (* x (+ x -1.0)))
(t_1 (+ (/ 1.0 (+ x -1.0)) (+ (/ 1.0 (+ 1.0 x)) (/ -2.0 x))))
(t_2 (* x (+ 1.0 x))))
(if (<= t_1 -0.004)
(/ (/ (+ t_0 (* (+ 1.0 x) (- 2.0 x))) (+ 1.0 x)) t_0)
(if (<= t_1 0.0)
(/ 2.0 (pow x 3.0))
(/
(+ t_2 (* (+ x -1.0) (+ x (* (+ 1.0 x) -2.0))))
(* (+ x -1.0) t_2))))))double code(double x) {
return ((1.0 / (x + 1.0)) - (2.0 / x)) + (1.0 / (x - 1.0));
}
↓
double code(double x) {
double t_0 = x * (x + -1.0);
double t_1 = (1.0 / (x + -1.0)) + ((1.0 / (1.0 + x)) + (-2.0 / x));
double t_2 = x * (1.0 + x);
double tmp;
if (t_1 <= -0.004) {
tmp = ((t_0 + ((1.0 + x) * (2.0 - x))) / (1.0 + x)) / t_0;
} else if (t_1 <= 0.0) {
tmp = 2.0 / pow(x, 3.0);
} else {
tmp = (t_2 + ((x + -1.0) * (x + ((1.0 + x) * -2.0)))) / ((x + -1.0) * t_2);
}
return tmp;
}
real(8) function code(x)
real(8), intent (in) :: x
code = ((1.0d0 / (x + 1.0d0)) - (2.0d0 / x)) + (1.0d0 / (x - 1.0d0))
end function
↓
real(8) function code(x)
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = x * (x + (-1.0d0))
t_1 = (1.0d0 / (x + (-1.0d0))) + ((1.0d0 / (1.0d0 + x)) + ((-2.0d0) / x))
t_2 = x * (1.0d0 + x)
if (t_1 <= (-0.004d0)) then
tmp = ((t_0 + ((1.0d0 + x) * (2.0d0 - x))) / (1.0d0 + x)) / t_0
else if (t_1 <= 0.0d0) then
tmp = 2.0d0 / (x ** 3.0d0)
else
tmp = (t_2 + ((x + (-1.0d0)) * (x + ((1.0d0 + x) * (-2.0d0))))) / ((x + (-1.0d0)) * t_2)
end if
code = tmp
end function
public static double code(double x) {
return ((1.0 / (x + 1.0)) - (2.0 / x)) + (1.0 / (x - 1.0));
}
↓
public static double code(double x) {
double t_0 = x * (x + -1.0);
double t_1 = (1.0 / (x + -1.0)) + ((1.0 / (1.0 + x)) + (-2.0 / x));
double t_2 = x * (1.0 + x);
double tmp;
if (t_1 <= -0.004) {
tmp = ((t_0 + ((1.0 + x) * (2.0 - x))) / (1.0 + x)) / t_0;
} else if (t_1 <= 0.0) {
tmp = 2.0 / Math.pow(x, 3.0);
} else {
tmp = (t_2 + ((x + -1.0) * (x + ((1.0 + x) * -2.0)))) / ((x + -1.0) * t_2);
}
return tmp;
}
def code(x):
return ((1.0 / (x + 1.0)) - (2.0 / x)) + (1.0 / (x - 1.0))
↓
def code(x):
t_0 = x * (x + -1.0)
t_1 = (1.0 / (x + -1.0)) + ((1.0 / (1.0 + x)) + (-2.0 / x))
t_2 = x * (1.0 + x)
tmp = 0
if t_1 <= -0.004:
tmp = ((t_0 + ((1.0 + x) * (2.0 - x))) / (1.0 + x)) / t_0
elif t_1 <= 0.0:
tmp = 2.0 / math.pow(x, 3.0)
else:
tmp = (t_2 + ((x + -1.0) * (x + ((1.0 + x) * -2.0)))) / ((x + -1.0) * t_2)
return tmp
function code(x)
return Float64(Float64(Float64(1.0 / Float64(x + 1.0)) - Float64(2.0 / x)) + Float64(1.0 / Float64(x - 1.0)))
end
↓
function code(x)
t_0 = Float64(x * Float64(x + -1.0))
t_1 = Float64(Float64(1.0 / Float64(x + -1.0)) + Float64(Float64(1.0 / Float64(1.0 + x)) + Float64(-2.0 / x)))
t_2 = Float64(x * Float64(1.0 + x))
tmp = 0.0
if (t_1 <= -0.004)
tmp = Float64(Float64(Float64(t_0 + Float64(Float64(1.0 + x) * Float64(2.0 - x))) / Float64(1.0 + x)) / t_0);
elseif (t_1 <= 0.0)
tmp = Float64(2.0 / (x ^ 3.0));
else
tmp = Float64(Float64(t_2 + Float64(Float64(x + -1.0) * Float64(x + Float64(Float64(1.0 + x) * -2.0)))) / Float64(Float64(x + -1.0) * t_2));
end
return tmp
end
function tmp = code(x)
tmp = ((1.0 / (x + 1.0)) - (2.0 / x)) + (1.0 / (x - 1.0));
end
↓
function tmp_2 = code(x)
t_0 = x * (x + -1.0);
t_1 = (1.0 / (x + -1.0)) + ((1.0 / (1.0 + x)) + (-2.0 / x));
t_2 = x * (1.0 + x);
tmp = 0.0;
if (t_1 <= -0.004)
tmp = ((t_0 + ((1.0 + x) * (2.0 - x))) / (1.0 + x)) / t_0;
elseif (t_1 <= 0.0)
tmp = 2.0 / (x ^ 3.0);
else
tmp = (t_2 + ((x + -1.0) * (x + ((1.0 + x) * -2.0)))) / ((x + -1.0) * t_2);
end
tmp_2 = tmp;
end
code[x_] := N[(N[(N[(1.0 / N[(x + 1.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / N[(x - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[x_] := Block[{t$95$0 = N[(x * N[(x + -1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(1.0 / N[(x + -1.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 / N[(1.0 + x), $MachinePrecision]), $MachinePrecision] + N[(-2.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(1.0 + x), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -0.004], N[(N[(N[(t$95$0 + N[(N[(1.0 + x), $MachinePrecision] * N[(2.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(1.0 + x), $MachinePrecision]), $MachinePrecision] / t$95$0), $MachinePrecision], If[LessEqual[t$95$1, 0.0], N[(2.0 / N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision], N[(N[(t$95$2 + N[(N[(x + -1.0), $MachinePrecision] * N[(x + N[(N[(1.0 + x), $MachinePrecision] * -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(x + -1.0), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]]]]]]
\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
↓
\begin{array}{l}
t_0 := x \cdot \left(x + -1\right)\\
t_1 := \frac{1}{x + -1} + \left(\frac{1}{1 + x} + \frac{-2}{x}\right)\\
t_2 := x \cdot \left(1 + x\right)\\
\mathbf{if}\;t_1 \leq -0.004:\\
\;\;\;\;\frac{\frac{t_0 + \left(1 + x\right) \cdot \left(2 - x\right)}{1 + x}}{t_0}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;\frac{2}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_2 + \left(x + -1\right) \cdot \left(x + \left(1 + x\right) \cdot -2\right)}{\left(x + -1\right) \cdot t_2}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Error | 87.5% |
|---|
| Cost | 3784.00 |
|---|
\[\begin{array}{l}
t_0 := x \cdot \left(x + -1\right)\\
t_1 := \frac{1}{x + -1} + \left(\frac{1}{1 + x} + \frac{-2}{x}\right)\\
t_2 := x \cdot \left(1 + x\right)\\
\mathbf{if}\;t_1 \leq -0.004:\\
\;\;\;\;\frac{\frac{t_0 + \left(1 + x\right) \cdot \left(2 - x\right)}{1 + x}}{t_0}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;\frac{1 + x \cdot \left(x + \left(-1 - x\right)\right)}{\left(1 + x\right) \cdot \left(1 + x \cdot x\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_2 + \left(x + -1\right) \cdot \left(x + \left(1 + x\right) \cdot -2\right)}{\left(x + -1\right) \cdot t_2}\\
\end{array}
\]
| Alternative 2 |
|---|
| Error | 87.5% |
|---|
| Cost | 3529.00 |
|---|
\[\begin{array}{l}
t_0 := \frac{1}{x + -1} + \left(\frac{1}{1 + x} + \frac{-2}{x}\right)\\
t_1 := x \cdot \left(x + -1\right)\\
\mathbf{if}\;t_0 \leq -0.004 \lor \neg \left(t_0 \leq 0\right):\\
\;\;\;\;\frac{\frac{t_1 + \left(1 + x\right) \cdot \left(2 - x\right)}{1 + x}}{t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + x \cdot \left(x + \left(-1 - x\right)\right)}{\left(1 + x\right) \cdot \left(1 + x \cdot x\right)}\\
\end{array}
\]
| Alternative 3 |
|---|
| Error | 87.2% |
|---|
| Cost | 3272.00 |
|---|
\[\begin{array}{l}
t_0 := \frac{1}{x + -1}\\
t_1 := \frac{1}{1 + x}\\
t_2 := t_0 + \left(t_1 + \frac{-2}{x}\right)\\
\mathbf{if}\;t_2 \leq -0.004:\\
\;\;\;\;t_1 - \left(x + -2\right) \cdot \left(\frac{1}{x} \cdot t_0\right)\\
\mathbf{elif}\;t_2 \leq 0:\\
\;\;\;\;\frac{1 + x \cdot \left(x + \left(-1 - x\right)\right)}{\left(1 + x\right) \cdot \left(1 + x \cdot x\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{1}{t_2}}\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 85.8% |
|---|
| Cost | 960.00 |
|---|
\[\frac{1}{x + -1} + \left(\frac{1}{1 + x} + \frac{-2}{x}\right)
\]
| Alternative 5 |
|---|
| Error | 85.7% |
|---|
| Cost | 960.00 |
|---|
\[\left(\frac{1}{1 + x} + \frac{1}{x + -1}\right) + \frac{-2}{x}
\]
| Alternative 6 |
|---|
| Error | 85.8% |
|---|
| Cost | 960.00 |
|---|
\[\frac{1}{1 + x} + \frac{-1 - \frac{-2}{x}}{x + -1}
\]
| Alternative 7 |
|---|
| Error | 76.8% |
|---|
| Cost | 585.00 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1 \lor \neg \left(x \leq 1\right):\\
\;\;\;\;\frac{-1}{x \cdot x}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2}{x} - x\\
\end{array}
\]
| Alternative 8 |
|---|
| Error | 84.4% |
|---|
| Cost | 448.00 |
|---|
\[1 + \left(-1 + \frac{-2}{x}\right)
\]
| Alternative 9 |
|---|
| Error | 52.8% |
|---|
| Cost | 192.00 |
|---|
\[\frac{-2}{x}
\]
| Alternative 10 |
|---|
| Error | 3.3% |
|---|
| Cost | 64.00 |
|---|
\[-1
\]