Average Error: 5.8 → 5.9
Time: 8.2s
Precision: 64
\[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
\[\left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \left(\sqrt[3]{{x}^{\frac{2}{3}}} \cdot {\left(\sqrt[3]{x}\right)}^{\frac{1}{3}}\right)\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}
\left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \left(\sqrt[3]{{x}^{\frac{2}{3}}} \cdot {\left(\sqrt[3]{x}\right)}^{\frac{1}{3}}\right)\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}
double f(double x, double y, double z) {
        double r288647 = x;
        double r288648 = 0.5;
        double r288649 = r288647 - r288648;
        double r288650 = log(r288647);
        double r288651 = r288649 * r288650;
        double r288652 = r288651 - r288647;
        double r288653 = 0.91893853320467;
        double r288654 = r288652 + r288653;
        double r288655 = y;
        double r288656 = 0.0007936500793651;
        double r288657 = r288655 + r288656;
        double r288658 = z;
        double r288659 = r288657 * r288658;
        double r288660 = 0.0027777777777778;
        double r288661 = r288659 - r288660;
        double r288662 = r288661 * r288658;
        double r288663 = 0.083333333333333;
        double r288664 = r288662 + r288663;
        double r288665 = r288664 / r288647;
        double r288666 = r288654 + r288665;
        return r288666;
}

double f(double x, double y, double z) {
        double r288667 = x;
        double r288668 = 0.5;
        double r288669 = r288667 - r288668;
        double r288670 = cbrt(r288667);
        double r288671 = 0.6666666666666666;
        double r288672 = pow(r288667, r288671);
        double r288673 = cbrt(r288672);
        double r288674 = 0.3333333333333333;
        double r288675 = pow(r288670, r288674);
        double r288676 = r288673 * r288675;
        double r288677 = r288670 * r288676;
        double r288678 = log(r288677);
        double r288679 = r288669 * r288678;
        double r288680 = pow(r288667, r288674);
        double r288681 = log(r288680);
        double r288682 = r288681 * r288669;
        double r288683 = r288682 - r288667;
        double r288684 = r288679 + r288683;
        double r288685 = 0.91893853320467;
        double r288686 = r288684 + r288685;
        double r288687 = y;
        double r288688 = 0.0007936500793651;
        double r288689 = r288687 + r288688;
        double r288690 = z;
        double r288691 = r288689 * r288690;
        double r288692 = 0.0027777777777778;
        double r288693 = r288691 - r288692;
        double r288694 = r288693 * r288690;
        double r288695 = 0.083333333333333;
        double r288696 = r288694 + r288695;
        double r288697 = r288696 / r288667;
        double r288698 = r288686 + r288697;
        return r288698;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original5.8
Target1.0
Herbie5.9
\[\left(\left(\left(x - 0.5\right) \cdot \log x + \left(0.91893853320467001 - x\right)\right) + \frac{0.0833333333333329956}{x}\right) + \frac{z}{x} \cdot \left(z \cdot \left(y + 7.93650079365100015 \cdot 10^{-4}\right) - 0.0027777777777778\right)\]

Derivation

  1. Initial program 5.8

    \[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  2. Using strategy rm
  3. Applied add-cube-cbrt5.8

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \color{blue}{\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)} - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  4. Applied log-prod5.9

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \color{blue}{\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \log \left(\sqrt[3]{x}\right)\right)} - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  5. Applied distribute-lft-in5.9

    \[\leadsto \left(\left(\color{blue}{\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x}\right)\right)} - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  6. Applied associate--l+5.8

    \[\leadsto \left(\color{blue}{\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x}\right) - x\right)\right)} + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  7. Simplified5.8

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \color{blue}{\left(\log \left(\sqrt[3]{x}\right) \cdot \left(x - 0.5\right) - x\right)}\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  8. Using strategy rm
  9. Applied pow1/35.8

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \left(\log \color{blue}{\left({x}^{\frac{1}{3}}\right)} \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  10. Using strategy rm
  11. Applied add-cube-cbrt5.8

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  12. Applied cbrt-prod5.8

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  13. Simplified5.8

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \left(\color{blue}{\sqrt[3]{{x}^{\frac{2}{3}}}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  14. Simplified5.9

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \left(\sqrt[3]{{x}^{\frac{2}{3}}} \cdot \color{blue}{{\left(\sqrt[3]{x}\right)}^{\frac{1}{3}}}\right)\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  15. Final simplification5.9

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x} \cdot \left(\sqrt[3]{{x}^{\frac{2}{3}}} \cdot {\left(\sqrt[3]{x}\right)}^{\frac{1}{3}}\right)\right) + \left(\log \left({x}^{\frac{1}{3}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (x y z)
  :name "Numeric.SpecFunctions:$slogFactorial from math-functions-0.1.5.2, B"
  :precision binary64

  :herbie-target
  (+ (+ (+ (* (- x 0.5) (log x)) (- 0.91893853320467 x)) (/ 0.083333333333333 x)) (* (/ z x) (- (* z (+ y 0.0007936500793651)) 0.0027777777777778)))

  (+ (+ (- (* (- x 0.5) (log x)) x) 0.91893853320467) (/ (+ (* (- (* (+ y 0.0007936500793651) z) 0.0027777777777778) z) 0.083333333333333) x)))