(FPCore (x) :precision binary64 (* x (log x)))
(FPCore (x) :precision binary64 (let* ((t_0 (log (cbrt x)))) (fma x (* t_0 2.0) (* x t_0))))
double code(double x) {
return x * log(x);
}
double code(double x) {
double t_0 = log(cbrt(x));
return fma(x, (t_0 * 2.0), (x * t_0));
}
function code(x) return Float64(x * log(x)) end
function code(x) t_0 = log(cbrt(x)) return fma(x, Float64(t_0 * 2.0), Float64(x * t_0)) end
code[x_] := N[(x * N[Log[x], $MachinePrecision]), $MachinePrecision]
code[x_] := Block[{t$95$0 = N[Log[N[Power[x, 1/3], $MachinePrecision]], $MachinePrecision]}, N[(x * N[(t$95$0 * 2.0), $MachinePrecision] + N[(x * t$95$0), $MachinePrecision]), $MachinePrecision]]
x \cdot \log x
\begin{array}{l}
t_0 := \log \left(\sqrt[3]{x}\right)\\
\mathsf{fma}\left(x, t_0 \cdot 2, x \cdot t_0\right)
\end{array}



Bits error versus x
Initial program 0.3
Applied add-cube-cbrt_binary640.3
Applied log-prod_binary640.4
Applied distribute-rgt-in_binary640.4
Simplified0.4
Simplified0.4
Applied fma-def_binary640.3
Final simplification0.3
herbie shell --seed 2022131
(FPCore (x)
:name "Statistics.Distribution.Binomial:directEntropy from math-functions-0.1.5.2"
:precision binary64
(* x (log x)))