| Alternative 1 | |
|---|---|
| Error | 0.2 |
| Cost | 20416 |
\[\begin{array}{l}
t_0 := \sqrt{x + 1}\\
t_1 := -1 - t_0\\
\frac{1 + t_0}{t_1 \cdot t_1} \cdot x
\end{array}
\]
(FPCore (x) :precision binary64 (/ x (+ 1.0 (sqrt (+ x 1.0)))))
(FPCore (x) :precision binary64 (let* ((t_0 (- -1.0 (sqrt (+ x 1.0))))) (/ (/ x (* t_0 t_0)) (/ -1.0 t_0))))
double code(double x) {
return x / (1.0 + sqrt((x + 1.0)));
}
double code(double x) {
double t_0 = -1.0 - sqrt((x + 1.0));
return (x / (t_0 * t_0)) / (-1.0 / t_0);
}
real(8) function code(x)
real(8), intent (in) :: x
code = x / (1.0d0 + sqrt((x + 1.0d0)))
end function
real(8) function code(x)
real(8), intent (in) :: x
real(8) :: t_0
t_0 = (-1.0d0) - sqrt((x + 1.0d0))
code = (x / (t_0 * t_0)) / ((-1.0d0) / t_0)
end function
public static double code(double x) {
return x / (1.0 + Math.sqrt((x + 1.0)));
}
public static double code(double x) {
double t_0 = -1.0 - Math.sqrt((x + 1.0));
return (x / (t_0 * t_0)) / (-1.0 / t_0);
}
def code(x): return x / (1.0 + math.sqrt((x + 1.0)))
def code(x): t_0 = -1.0 - math.sqrt((x + 1.0)) return (x / (t_0 * t_0)) / (-1.0 / t_0)
function code(x) return Float64(x / Float64(1.0 + sqrt(Float64(x + 1.0)))) end
function code(x) t_0 = Float64(-1.0 - sqrt(Float64(x + 1.0))) return Float64(Float64(x / Float64(t_0 * t_0)) / Float64(-1.0 / t_0)) end
function tmp = code(x) tmp = x / (1.0 + sqrt((x + 1.0))); end
function tmp = code(x) t_0 = -1.0 - sqrt((x + 1.0)); tmp = (x / (t_0 * t_0)) / (-1.0 / t_0); end
code[x_] := N[(x / N[(1.0 + N[Sqrt[N[(x + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_] := Block[{t$95$0 = N[(-1.0 - N[Sqrt[N[(x + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, N[(N[(x / N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision] / N[(-1.0 / t$95$0), $MachinePrecision]), $MachinePrecision]]
\frac{x}{1 + \sqrt{x + 1}}
\begin{array}{l}
t_0 := -1 - \sqrt{x + 1}\\
\frac{\frac{x}{t_0 \cdot t_0}}{\frac{-1}{t_0}}
\end{array}
Results
Initial program 0.2
Applied egg-rr0.2
Applied egg-rr0.2
Simplified0.2
[Start]0.2 | \[ \left(\left(1 + \sqrt{1 + x}\right) \cdot \frac{1}{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)}\right) \cdot x
\] |
|---|---|
rational.json-simplify-2 [=>]0.2 | \[ \color{blue}{\left(\frac{1}{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)} \cdot \left(1 + \sqrt{1 + x}\right)\right)} \cdot x
\] |
rational.json-simplify-7 [<=]0.2 | \[ \left(\frac{1}{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)} \cdot \color{blue}{\frac{1 + \sqrt{1 + x}}{1}}\right) \cdot x
\] |
rational.json-simplify-55 [=>]0.2 | \[ \color{blue}{\frac{\frac{1 + \sqrt{1 + x}}{1}}{\frac{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)}{1}}} \cdot x
\] |
rational.json-simplify-7 [=>]0.2 | \[ \frac{\color{blue}{1 + \sqrt{1 + x}}}{\frac{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)}{1}} \cdot x
\] |
rational.json-simplify-1 [=>]0.2 | \[ \frac{1 + \sqrt{\color{blue}{x + 1}}}{\frac{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)}{1}} \cdot x
\] |
rational.json-simplify-7 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\color{blue}{\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)}} \cdot x
\] |
rational.json-simplify-21 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\color{blue}{\left|\left(1 + \sqrt{1 + x}\right) \cdot \left(1 + \sqrt{1 + x}\right)\right|}} \cdot x
\] |
rational.json-simplify-39 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\color{blue}{\left|1 + \sqrt{1 + x}\right| \cdot \left|1 + \sqrt{1 + x}\right|}} \cdot x
\] |
rational.json-simplify-17 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\left|\color{blue}{\sqrt{1 + x} - -1}\right| \cdot \left|1 + \sqrt{1 + x}\right|} \cdot x
\] |
rational.json-simplify-58 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\color{blue}{\left|-1 - \sqrt{1 + x}\right|} \cdot \left|1 + \sqrt{1 + x}\right|} \cdot x
\] |
rational.json-simplify-17 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\left|-1 - \sqrt{1 + x}\right| \cdot \left|\color{blue}{\sqrt{1 + x} - -1}\right|} \cdot x
\] |
rational.json-simplify-58 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\left|-1 - \sqrt{1 + x}\right| \cdot \color{blue}{\left|-1 - \sqrt{1 + x}\right|}} \cdot x
\] |
rational.json-simplify-38 [=>]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\color{blue}{\left|\left(-1 - \sqrt{1 + x}\right) \cdot \left(-1 - \sqrt{1 + x}\right)\right|}} \cdot x
\] |
rational.json-simplify-21 [<=]0.2 | \[ \frac{1 + \sqrt{x + 1}}{\color{blue}{\left(-1 - \sqrt{1 + x}\right) \cdot \left(-1 - \sqrt{1 + x}\right)}} \cdot x
\] |
Applied egg-rr0.2
Final simplification0.2
| Alternative 1 | |
|---|---|
| Error | 0.2 |
| Cost | 20416 |
| Alternative 2 | |
|---|---|
| Error | 0.2 |
| Cost | 6848 |
| Alternative 3 | |
|---|---|
| Error | 20.0 |
| Cost | 448 |
| Alternative 4 | |
|---|---|
| Error | 19.9 |
| Cost | 448 |
| Alternative 5 | |
|---|---|
| Error | 20.3 |
| Cost | 192 |
| Alternative 6 | |
|---|---|
| Error | 60.9 |
| Cost | 64 |
herbie shell --seed 2023068
(FPCore (x)
:name "Numeric.Log:$clog1p from log-domain-0.10.2.1, B"
:precision binary64
(/ x (+ 1.0 (sqrt (+ x 1.0)))))