Average Error: 6.1 → 6.1
Time: 9.3s
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({\left(\frac{1}{x}\right)}^{\frac{-1}{3}} \cdot \sqrt[3]{x}\right) + \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}\]
\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({\left(\frac{1}{x}\right)}^{\frac{-1}{3}} \cdot \sqrt[3]{x}\right) + \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}
double f(double x, double y, double z) {
        double r425492 = x;
        double r425493 = 0.5;
        double r425494 = r425492 - r425493;
        double r425495 = log(r425492);
        double r425496 = r425494 * r425495;
        double r425497 = r425496 - r425492;
        double r425498 = 0.91893853320467;
        double r425499 = r425497 + r425498;
        double r425500 = y;
        double r425501 = 0.0007936500793651;
        double r425502 = r425500 + r425501;
        double r425503 = z;
        double r425504 = r425502 * r425503;
        double r425505 = 0.0027777777777778;
        double r425506 = r425504 - r425505;
        double r425507 = r425506 * r425503;
        double r425508 = 0.083333333333333;
        double r425509 = r425507 + r425508;
        double r425510 = r425509 / r425492;
        double r425511 = r425499 + r425510;
        return r425511;
}

double f(double x, double y, double z) {
        double r425512 = x;
        double r425513 = 0.5;
        double r425514 = r425512 - r425513;
        double r425515 = 1.0;
        double r425516 = r425515 / r425512;
        double r425517 = -0.3333333333333333;
        double r425518 = pow(r425516, r425517);
        double r425519 = cbrt(r425512);
        double r425520 = r425518 * r425519;
        double r425521 = log(r425520);
        double r425522 = r425514 * r425521;
        double r425523 = log(r425519);
        double r425524 = r425523 * r425514;
        double r425525 = r425524 - r425512;
        double r425526 = r425522 + r425525;
        double r425527 = 0.91893853320467;
        double r425528 = r425526 + r425527;
        double r425529 = y;
        double r425530 = 0.0007936500793651;
        double r425531 = r425529 + r425530;
        double r425532 = z;
        double r425533 = r425531 * r425532;
        double r425534 = 0.0027777777777778;
        double r425535 = r425533 - r425534;
        double r425536 = r425535 * r425532;
        double r425537 = 0.083333333333333;
        double r425538 = r425536 + r425537;
        double r425539 = r425538 / r425512;
        double r425540 = r425528 + r425539;
        return r425540;
}

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

Original6.1
Target1.3
Herbie6.1
\[\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 6.1

    \[\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-cbrt6.1

    \[\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-prod6.1

    \[\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-in6.1

    \[\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+6.1

    \[\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. Simplified6.1

    \[\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. Taylor expanded around inf 6.1

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left(\color{blue}{{\left(\frac{1}{x}\right)}^{\frac{-1}{3}}} \cdot \sqrt[3]{x}\right) + \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}\]
  9. Final simplification6.1

    \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log \left({\left(\frac{1}{x}\right)}^{\frac{-1}{3}} \cdot \sqrt[3]{x}\right) + \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}\]

Reproduce

herbie shell --seed 2020081 
(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)))