\[\sqrt[3]{x + 1} - \sqrt[3]{x}
\]
↓
\[\begin{array}{l}
t_0 := \sqrt[3]{x + 1}\\
\mathbf{if}\;\sqrt[3]{x} \ne 0:\\
\;\;\;\;\frac{--1}{\mathsf{fma}\left(\sqrt[3]{x}, t_0 + \sqrt[3]{x}, {t_0}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;t_0 - \sqrt[3]{x}\\
\end{array}
\]
(FPCore (x) :precision binary64 (- (cbrt (+ x 1.0)) (cbrt x)))
↓
(FPCore (x)
:precision binary64
(let* ((t_0 (cbrt (+ x 1.0))))
(if (!= (cbrt x) 0.0)
(/ (- -1.0) (fma (cbrt x) (+ t_0 (cbrt x)) (pow t_0 2.0)))
(- t_0 (cbrt x)))))double code(double x) {
return cbrt((x + 1.0)) - cbrt(x);
}
↓
double code(double x) {
double t_0 = cbrt((x + 1.0));
double tmp;
if (cbrt(x) != 0.0) {
tmp = -(-1.0) / fma(cbrt(x), (t_0 + cbrt(x)), pow(t_0, 2.0));
} else {
tmp = t_0 - cbrt(x);
}
return tmp;
}
function code(x)
return Float64(cbrt(Float64(x + 1.0)) - cbrt(x))
end
↓
function code(x)
t_0 = cbrt(Float64(x + 1.0))
tmp = 0.0
if (cbrt(x) != 0.0)
tmp = Float64(Float64(-(-1.0)) / fma(cbrt(x), Float64(t_0 + cbrt(x)), (t_0 ^ 2.0)));
else
tmp = Float64(t_0 - cbrt(x));
end
return tmp
end
code[x_] := N[(N[Power[N[(x + 1.0), $MachinePrecision], 1/3], $MachinePrecision] - N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]
↓
code[x_] := Block[{t$95$0 = N[Power[N[(x + 1.0), $MachinePrecision], 1/3], $MachinePrecision]}, If[Unequal[N[Power[x, 1/3], $MachinePrecision], 0.0], N[((--1.0) / N[(N[Power[x, 1/3], $MachinePrecision] * N[(t$95$0 + N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision] + N[Power[t$95$0, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t$95$0 - N[Power[x, 1/3], $MachinePrecision]), $MachinePrecision]]]
\sqrt[3]{x + 1} - \sqrt[3]{x}
↓
\begin{array}{l}
t_0 := \sqrt[3]{x + 1}\\
\mathbf{if}\;\sqrt[3]{x} \ne 0:\\
\;\;\;\;\frac{--1}{\mathsf{fma}\left(\sqrt[3]{x}, t_0 + \sqrt[3]{x}, {t_0}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;t_0 - \sqrt[3]{x}\\
\end{array}