| Alternative 1 | |
|---|---|
| Accuracy | 99.3% |
| Cost | 26756 |
(FPCore (x) :precision binary64 (- (/ 1.0 (sqrt x)) (/ 1.0 (sqrt (+ x 1.0)))))
(FPCore (x)
:precision binary64
(let* ((t_0 (/ -1.0 (sqrt (+ 1.0 x)))))
(if (<= (+ (/ 1.0 (sqrt x)) t_0) 5e-14)
(/ (/ 1.0 x) (+ (* (sqrt (/ 1.0 x)) 1.5) (* (sqrt x) 2.0)))
(+ (pow x -0.5) t_0))))double code(double x) {
return (1.0 / sqrt(x)) - (1.0 / sqrt((x + 1.0)));
}
double code(double x) {
double t_0 = -1.0 / sqrt((1.0 + x));
double tmp;
if (((1.0 / sqrt(x)) + t_0) <= 5e-14) {
tmp = (1.0 / x) / ((sqrt((1.0 / x)) * 1.5) + (sqrt(x) * 2.0));
} else {
tmp = pow(x, -0.5) + t_0;
}
return tmp;
}
real(8) function code(x)
real(8), intent (in) :: x
code = (1.0d0 / sqrt(x)) - (1.0d0 / sqrt((x + 1.0d0)))
end function
real(8) function code(x)
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = (-1.0d0) / sqrt((1.0d0 + x))
if (((1.0d0 / sqrt(x)) + t_0) <= 5d-14) then
tmp = (1.0d0 / x) / ((sqrt((1.0d0 / x)) * 1.5d0) + (sqrt(x) * 2.0d0))
else
tmp = (x ** (-0.5d0)) + t_0
end if
code = tmp
end function
public static double code(double x) {
return (1.0 / Math.sqrt(x)) - (1.0 / Math.sqrt((x + 1.0)));
}
public static double code(double x) {
double t_0 = -1.0 / Math.sqrt((1.0 + x));
double tmp;
if (((1.0 / Math.sqrt(x)) + t_0) <= 5e-14) {
tmp = (1.0 / x) / ((Math.sqrt((1.0 / x)) * 1.5) + (Math.sqrt(x) * 2.0));
} else {
tmp = Math.pow(x, -0.5) + t_0;
}
return tmp;
}
def code(x): return (1.0 / math.sqrt(x)) - (1.0 / math.sqrt((x + 1.0)))
def code(x): t_0 = -1.0 / math.sqrt((1.0 + x)) tmp = 0 if ((1.0 / math.sqrt(x)) + t_0) <= 5e-14: tmp = (1.0 / x) / ((math.sqrt((1.0 / x)) * 1.5) + (math.sqrt(x) * 2.0)) else: tmp = math.pow(x, -0.5) + t_0 return tmp
function code(x) return Float64(Float64(1.0 / sqrt(x)) - Float64(1.0 / sqrt(Float64(x + 1.0)))) end
function code(x) t_0 = Float64(-1.0 / sqrt(Float64(1.0 + x))) tmp = 0.0 if (Float64(Float64(1.0 / sqrt(x)) + t_0) <= 5e-14) tmp = Float64(Float64(1.0 / x) / Float64(Float64(sqrt(Float64(1.0 / x)) * 1.5) + Float64(sqrt(x) * 2.0))); else tmp = Float64((x ^ -0.5) + t_0); end return tmp end
function tmp = code(x) tmp = (1.0 / sqrt(x)) - (1.0 / sqrt((x + 1.0))); end
function tmp_2 = code(x) t_0 = -1.0 / sqrt((1.0 + x)); tmp = 0.0; if (((1.0 / sqrt(x)) + t_0) <= 5e-14) tmp = (1.0 / x) / ((sqrt((1.0 / x)) * 1.5) + (sqrt(x) * 2.0)); else tmp = (x ^ -0.5) + t_0; end tmp_2 = tmp; end
code[x_] := N[(N[(1.0 / N[Sqrt[x], $MachinePrecision]), $MachinePrecision] - 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[(1.0 + x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(1.0 / N[Sqrt[x], $MachinePrecision]), $MachinePrecision] + t$95$0), $MachinePrecision], 5e-14], N[(N[(1.0 / x), $MachinePrecision] / N[(N[(N[Sqrt[N[(1.0 / x), $MachinePrecision]], $MachinePrecision] * 1.5), $MachinePrecision] + N[(N[Sqrt[x], $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[x, -0.5], $MachinePrecision] + t$95$0), $MachinePrecision]]]
\frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}}
\begin{array}{l}
t_0 := \frac{-1}{\sqrt{1 + x}}\\
\mathbf{if}\;\frac{1}{\sqrt{x}} + t_0 \leq 5 \cdot 10^{-14}:\\
\;\;\;\;\frac{\frac{1}{x}}{\sqrt{\frac{1}{x}} \cdot 1.5 + \sqrt{x} \cdot 2}\\
\mathbf{else}:\\
\;\;\;\;{x}^{-0.5} + t_0\\
\end{array}
Results
| Original | 68.9% |
|---|---|
| Target | 99.0% |
| Herbie | 99.5% |
if (-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))) < 5.0000000000000002e-14Initial program 37.6%
Applied egg-rr37.7%
[Start]37.6 | \[ \frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}}
\] |
|---|---|
flip-- [=>]37.6 | \[ \color{blue}{\frac{\frac{1}{\sqrt{x}} \cdot \frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}} \cdot \frac{1}{\sqrt{x + 1}}}{\frac{1}{\sqrt{x}} + \frac{1}{\sqrt{x + 1}}}}
\] |
div-inv [=>]37.6 | \[ \color{blue}{\left(\frac{1}{\sqrt{x}} \cdot \frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}} \cdot \frac{1}{\sqrt{x + 1}}\right) \cdot \frac{1}{\frac{1}{\sqrt{x}} + \frac{1}{\sqrt{x + 1}}}}
\] |
Simplified37.7%
[Start]37.7 | \[ \left(\frac{1}{x} + \frac{-1}{1 + x}\right) \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
|---|---|
associate-*r/ [=>]37.7 | \[ \color{blue}{\frac{\left(\frac{1}{x} + \frac{-1}{1 + x}\right) \cdot 1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}}
\] |
*-rgt-identity [=>]37.7 | \[ \frac{\color{blue}{\frac{1}{x} + \frac{-1}{1 + x}}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
Applied egg-rr39.1%
[Start]37.7 | \[ \frac{\frac{1}{x} + \frac{-1}{1 + x}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
|---|---|
frac-2neg [=>]37.7 | \[ \frac{\frac{1}{x} + \color{blue}{\frac{--1}{-\left(1 + x\right)}}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [=>]37.7 | \[ \frac{\frac{1}{x} + \frac{\color{blue}{1}}{-\left(1 + x\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
frac-add [=>]39.1 | \[ \frac{\color{blue}{\frac{1 \cdot \left(-\left(1 + x\right)\right) + x \cdot 1}{x \cdot \left(-\left(1 + x\right)\right)}}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
*-un-lft-identity [<=]39.1 | \[ \frac{\frac{\color{blue}{\left(-\left(1 + x\right)\right)} + x \cdot 1}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
*-commutative [<=]39.1 | \[ \frac{\frac{\left(-\left(1 + x\right)\right) + \color{blue}{1 \cdot x}}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
*-un-lft-identity [<=]39.1 | \[ \frac{\frac{\left(-\left(1 + x\right)\right) + \color{blue}{x}}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
+-commutative [=>]39.1 | \[ \frac{\frac{\color{blue}{x + \left(-\left(1 + x\right)\right)}}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
neg-sub0 [=>]39.1 | \[ \frac{\frac{x + \color{blue}{\left(0 - \left(1 + x\right)\right)}}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [<=]39.1 | \[ \frac{\frac{x + \left(\color{blue}{\log 1} - \left(1 + x\right)\right)}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
associate--r+ [=>]39.1 | \[ \frac{\frac{x + \color{blue}{\left(\left(\log 1 - 1\right) - x\right)}}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [=>]39.1 | \[ \frac{\frac{x + \left(\left(\color{blue}{0} - 1\right) - x\right)}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [=>]39.1 | \[ \frac{\frac{x + \left(\color{blue}{-1} - x\right)}{x \cdot \left(-\left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
neg-sub0 [=>]39.1 | \[ \frac{\frac{x + \left(-1 - x\right)}{x \cdot \color{blue}{\left(0 - \left(1 + x\right)\right)}}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [<=]39.1 | \[ \frac{\frac{x + \left(-1 - x\right)}{x \cdot \left(\color{blue}{\log 1} - \left(1 + x\right)\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
associate--r+ [=>]39.1 | \[ \frac{\frac{x + \left(-1 - x\right)}{x \cdot \color{blue}{\left(\left(\log 1 - 1\right) - x\right)}}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [=>]39.1 | \[ \frac{\frac{x + \left(-1 - x\right)}{x \cdot \left(\left(\color{blue}{0} - 1\right) - x\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [=>]39.1 | \[ \frac{\frac{x + \left(-1 - x\right)}{x \cdot \left(\color{blue}{-1} - x\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
Simplified84.7%
[Start]39.1 | \[ \frac{\frac{x + \left(-1 - x\right)}{x \cdot \left(-1 - x\right)}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
|---|---|
associate-/r* [=>]39.1 | \[ \frac{\color{blue}{\frac{\frac{x + \left(-1 - x\right)}{x}}{-1 - x}}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
+-commutative [=>]39.1 | \[ \frac{\frac{\frac{\color{blue}{\left(-1 - x\right) + x}}{x}}{-1 - x}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
associate-+l- [=>]84.7 | \[ \frac{\frac{\frac{\color{blue}{-1 - \left(x - x\right)}}{x}}{-1 - x}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
+-inverses [=>]84.7 | \[ \frac{\frac{\frac{-1 - \color{blue}{0}}{x}}{-1 - x}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
metadata-eval [=>]84.7 | \[ \frac{\frac{\frac{\color{blue}{-1}}{x}}{-1 - x}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
Applied egg-rr99.3%
[Start]84.7 | \[ \frac{\frac{\frac{-1}{x}}{-1 - x}}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
|---|---|
div-inv [=>]84.7 | \[ \color{blue}{\frac{\frac{-1}{x}}{-1 - x} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}}
\] |
div-inv [=>]84.6 | \[ \color{blue}{\left(\frac{-1}{x} \cdot \frac{1}{-1 - x}\right)} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}
\] |
associate-*l* [=>]99.3 | \[ \color{blue}{\frac{-1}{x} \cdot \left(\frac{1}{-1 - x} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)}
\] |
frac-2neg [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\color{blue}{\frac{-1}{-\left(-1 - x\right)}} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
metadata-eval [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{\color{blue}{-1}}{-\left(-1 - x\right)} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
neg-sub0 [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{\color{blue}{0 - \left(-1 - x\right)}} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
metadata-eval [<=]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{\color{blue}{\log 1} - \left(-1 - x\right)} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
associate--r- [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{\color{blue}{\left(\log 1 - -1\right) + x}} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
metadata-eval [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{\left(\color{blue}{0} - -1\right) + x} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
metadata-eval [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{\color{blue}{1} + x} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
+-commutative [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{\color{blue}{x + 1}} \cdot \frac{1}{{x}^{-0.5} + {\left(1 + x\right)}^{-0.5}}\right)
\] |
+-commutative [=>]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{x + 1} \cdot \frac{1}{{x}^{-0.5} + {\color{blue}{\left(x + 1\right)}}^{-0.5}}\right)
\] |
Simplified99.6%
[Start]99.3 | \[ \frac{-1}{x} \cdot \left(\frac{-1}{x + 1} \cdot \frac{1}{{x}^{-0.5} + {\left(x + 1\right)}^{-0.5}}\right)
\] |
|---|---|
*-commutative [=>]99.3 | \[ \color{blue}{\left(\frac{-1}{x + 1} \cdot \frac{1}{{x}^{-0.5} + {\left(x + 1\right)}^{-0.5}}\right) \cdot \frac{-1}{x}}
\] |
associate-*l/ [=>]99.5 | \[ \color{blue}{\frac{-1 \cdot \frac{1}{{x}^{-0.5} + {\left(x + 1\right)}^{-0.5}}}{x + 1}} \cdot \frac{-1}{x}
\] |
associate-*r/ [=>]99.5 | \[ \frac{\color{blue}{\frac{-1 \cdot 1}{{x}^{-0.5} + {\left(x + 1\right)}^{-0.5}}}}{x + 1} \cdot \frac{-1}{x}
\] |
metadata-eval [=>]99.5 | \[ \frac{\frac{\color{blue}{-1}}{{x}^{-0.5} + {\left(x + 1\right)}^{-0.5}}}{x + 1} \cdot \frac{-1}{x}
\] |
associate-/l/ [=>]99.5 | \[ \color{blue}{\frac{-1}{\left(x + 1\right) \cdot \left({x}^{-0.5} + {\left(x + 1\right)}^{-0.5}\right)}} \cdot \frac{-1}{x}
\] |
associate-*l/ [=>]99.6 | \[ \color{blue}{\frac{-1 \cdot \frac{-1}{x}}{\left(x + 1\right) \cdot \left({x}^{-0.5} + {\left(x + 1\right)}^{-0.5}\right)}}
\] |
associate-*r/ [=>]99.6 | \[ \frac{\color{blue}{\frac{-1 \cdot -1}{x}}}{\left(x + 1\right) \cdot \left({x}^{-0.5} + {\left(x + 1\right)}^{-0.5}\right)}
\] |
metadata-eval [=>]99.6 | \[ \frac{\frac{\color{blue}{1}}{x}}{\left(x + 1\right) \cdot \left({x}^{-0.5} + {\left(x + 1\right)}^{-0.5}\right)}
\] |
+-commutative [=>]99.6 | \[ \frac{\frac{1}{x}}{\color{blue}{\left(1 + x\right)} \cdot \left({x}^{-0.5} + {\left(x + 1\right)}^{-0.5}\right)}
\] |
+-commutative [=>]99.6 | \[ \frac{\frac{1}{x}}{\left(1 + x\right) \cdot \left({x}^{-0.5} + {\color{blue}{\left(1 + x\right)}}^{-0.5}\right)}
\] |
Taylor expanded in x around inf 99.6%
Simplified99.6%
[Start]99.6 | \[ \frac{\frac{1}{x}}{-0.5 \cdot \sqrt{\frac{1}{x}} + \left(2 \cdot \sqrt{x} + 2 \cdot \sqrt{\frac{1}{x}}\right)}
\] |
|---|---|
+-commutative [=>]99.6 | \[ \frac{\frac{1}{x}}{-0.5 \cdot \sqrt{\frac{1}{x}} + \color{blue}{\left(2 \cdot \sqrt{\frac{1}{x}} + 2 \cdot \sqrt{x}\right)}}
\] |
associate-+r+ [=>]99.6 | \[ \frac{\frac{1}{x}}{\color{blue}{\left(-0.5 \cdot \sqrt{\frac{1}{x}} + 2 \cdot \sqrt{\frac{1}{x}}\right) + 2 \cdot \sqrt{x}}}
\] |
distribute-rgt-out [=>]99.6 | \[ \frac{\frac{1}{x}}{\color{blue}{\sqrt{\frac{1}{x}} \cdot \left(-0.5 + 2\right)} + 2 \cdot \sqrt{x}}
\] |
metadata-eval [=>]99.6 | \[ \frac{\frac{1}{x}}{\sqrt{\frac{1}{x}} \cdot \color{blue}{1.5} + 2 \cdot \sqrt{x}}
\] |
if 5.0000000000000002e-14 < (-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))) Initial program 99.0%
Applied egg-rr91.9%
[Start]99.0 | \[ \frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}}
\] |
|---|---|
expm1-log1p-u [=>]92.2 | \[ \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{\sqrt{x}}\right)\right)} - \frac{1}{\sqrt{x + 1}}
\] |
expm1-udef [=>]91.9 | \[ \color{blue}{\left(e^{\mathsf{log1p}\left(\frac{1}{\sqrt{x}}\right)} - 1\right)} - \frac{1}{\sqrt{x + 1}}
\] |
pow1/2 [=>]91.9 | \[ \left(e^{\mathsf{log1p}\left(\frac{1}{\color{blue}{{x}^{0.5}}}\right)} - 1\right) - \frac{1}{\sqrt{x + 1}}
\] |
pow-flip [=>]91.9 | \[ \left(e^{\mathsf{log1p}\left(\color{blue}{{x}^{\left(-0.5\right)}}\right)} - 1\right) - \frac{1}{\sqrt{x + 1}}
\] |
metadata-eval [=>]91.9 | \[ \left(e^{\mathsf{log1p}\left({x}^{\color{blue}{-0.5}}\right)} - 1\right) - \frac{1}{\sqrt{x + 1}}
\] |
Simplified99.4%
[Start]91.9 | \[ \left(e^{\mathsf{log1p}\left({x}^{-0.5}\right)} - 1\right) - \frac{1}{\sqrt{x + 1}}
\] |
|---|---|
expm1-def [=>]92.2 | \[ \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({x}^{-0.5}\right)\right)} - \frac{1}{\sqrt{x + 1}}
\] |
expm1-log1p [=>]99.4 | \[ \color{blue}{{x}^{-0.5}} - \frac{1}{\sqrt{x + 1}}
\] |
Final simplification99.5%
| Alternative 1 | |
|---|---|
| Accuracy | 99.3% |
| Cost | 26756 |
| Alternative 2 | |
|---|---|
| Accuracy | 99.4% |
| Cost | 13696 |
| Alternative 3 | |
|---|---|
| Accuracy | 99.3% |
| Cost | 13380 |
| Alternative 4 | |
|---|---|
| Accuracy | 98.4% |
| Cost | 7364 |
| Alternative 5 | |
|---|---|
| Accuracy | 98.3% |
| Cost | 7044 |
| Alternative 6 | |
|---|---|
| Accuracy | 98.0% |
| Cost | 6980 |
| Alternative 7 | |
|---|---|
| Accuracy | 67.4% |
| Cost | 6852 |
| Alternative 8 | |
|---|---|
| Accuracy | 65.8% |
| Cost | 6784 |
| Alternative 9 | |
|---|---|
| Accuracy | 66.1% |
| Cost | 6660 |
| Alternative 10 | |
|---|---|
| Accuracy | 22.6% |
| Cost | 836 |
| Alternative 11 | |
|---|---|
| Accuracy | 7.5% |
| Cost | 576 |
| Alternative 12 | |
|---|---|
| Accuracy | 7.4% |
| Cost | 192 |
| Alternative 13 | |
|---|---|
| Accuracy | 1.9% |
| Cost | 64 |
herbie shell --seed 2023133
(FPCore (x)
:name "2isqrt (example 3.6)"
:precision binary64
:herbie-target
(/ 1.0 (+ (* (+ x 1.0) (sqrt x)) (* x (sqrt (+ x 1.0)))))
(- (/ 1.0 (sqrt x)) (/ 1.0 (sqrt (+ x 1.0)))))