Average Error: 0.3 → 0.2
Time: 5.9s
Precision: binary64
\[x \cdot \log x \]
\[\mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \left({x}^{0.16666666666666666} \cdot {x}^{0.16666666666666666}\right)\right) \]
x \cdot \log x
\mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \left({x}^{0.16666666666666666} \cdot {x}^{0.16666666666666666}\right)\right)
(FPCore (x) :precision binary64 (* x (log x)))
(FPCore (x)
 :precision binary64
 (fma
  x
  (* (log (cbrt x)) 2.0)
  (* x (log (* (pow x 0.16666666666666666) (pow x 0.16666666666666666))))))
double code(double x) {
	return x * log(x);
}
double code(double x) {
	return fma(x, (log(cbrt(x)) * 2.0), (x * log(pow(x, 0.16666666666666666) * pow(x, 0.16666666666666666))));
}

Error

Bits error versus x

Derivation

  1. Initial program 0.3

    \[x \cdot \log x \]
  2. Applied add-cube-cbrt_binary640.3

    \[\leadsto x \cdot \log \color{blue}{\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)} \]
  3. Applied log-prod_binary640.4

    \[\leadsto x \cdot \color{blue}{\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \log \left(\sqrt[3]{x}\right)\right)} \]
  4. Applied distribute-rgt-in_binary640.4

    \[\leadsto \color{blue}{\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot x + \log \left(\sqrt[3]{x}\right) \cdot x} \]
  5. Simplified0.4

    \[\leadsto \color{blue}{x \cdot \left(\log \left(\sqrt[3]{x}\right) \cdot 2\right)} + \log \left(\sqrt[3]{x}\right) \cdot x \]
  6. Simplified0.4

    \[\leadsto x \cdot \left(\log \left(\sqrt[3]{x}\right) \cdot 2\right) + \color{blue}{x \cdot \log \left(\sqrt[3]{x}\right)} \]
  7. Applied fma-def_binary640.3

    \[\leadsto \color{blue}{\mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \left(\sqrt[3]{x}\right)\right)} \]
  8. Applied add-sqr-sqrt_binary640.3

    \[\leadsto \mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \color{blue}{\left(\sqrt{\sqrt[3]{x}} \cdot \sqrt{\sqrt[3]{x}}\right)}\right) \]
  9. Simplified0.2

    \[\leadsto \mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \left(\color{blue}{{x}^{0.16666666666666666}} \cdot \sqrt{\sqrt[3]{x}}\right)\right) \]
  10. Simplified0.2

    \[\leadsto \mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \left({x}^{0.16666666666666666} \cdot \color{blue}{{x}^{0.16666666666666666}}\right)\right) \]
  11. Final simplification0.2

    \[\leadsto \mathsf{fma}\left(x, \log \left(\sqrt[3]{x}\right) \cdot 2, x \cdot \log \left({x}^{0.16666666666666666} \cdot {x}^{0.16666666666666666}\right)\right) \]

Reproduce

herbie shell --seed 2022076 
(FPCore (x)
  :name "Statistics.Distribution.Binomial:directEntropy from math-functions-0.1.5.2"
  :precision binary64
  (* x (log x)))