Average Error: 5.8 → 5.8
Time: 26.0s
Precision: 64
\[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.9189385332046700050057097541866824030876\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
\[\left(\log \left(\sqrt[3]{x} \cdot {\left(\frac{1}{x}\right)}^{\frac{-1}{3}}\right) \cdot \left(x - 0.5\right) + \mathsf{fma}\left(x - 0.5, \log \left(\sqrt[3]{x}\right), 0.9189385332046700050057097541866824030876 - x\right)\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.9189385332046700050057097541866824030876\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}
\left(\log \left(\sqrt[3]{x} \cdot {\left(\frac{1}{x}\right)}^{\frac{-1}{3}}\right) \cdot \left(x - 0.5\right) + \mathsf{fma}\left(x - 0.5, \log \left(\sqrt[3]{x}\right), 0.9189385332046700050057097541866824030876 - x\right)\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}
double f(double x, double y, double z) {
        double r381525 = x;
        double r381526 = 0.5;
        double r381527 = r381525 - r381526;
        double r381528 = log(r381525);
        double r381529 = r381527 * r381528;
        double r381530 = r381529 - r381525;
        double r381531 = 0.91893853320467;
        double r381532 = r381530 + r381531;
        double r381533 = y;
        double r381534 = 0.0007936500793651;
        double r381535 = r381533 + r381534;
        double r381536 = z;
        double r381537 = r381535 * r381536;
        double r381538 = 0.0027777777777778;
        double r381539 = r381537 - r381538;
        double r381540 = r381539 * r381536;
        double r381541 = 0.083333333333333;
        double r381542 = r381540 + r381541;
        double r381543 = r381542 / r381525;
        double r381544 = r381532 + r381543;
        return r381544;
}

double f(double x, double y, double z) {
        double r381545 = x;
        double r381546 = cbrt(r381545);
        double r381547 = 1.0;
        double r381548 = r381547 / r381545;
        double r381549 = -0.3333333333333333;
        double r381550 = pow(r381548, r381549);
        double r381551 = r381546 * r381550;
        double r381552 = log(r381551);
        double r381553 = 0.5;
        double r381554 = r381545 - r381553;
        double r381555 = r381552 * r381554;
        double r381556 = log(r381546);
        double r381557 = 0.91893853320467;
        double r381558 = r381557 - r381545;
        double r381559 = fma(r381554, r381556, r381558);
        double r381560 = r381555 + r381559;
        double r381561 = y;
        double r381562 = 0.0007936500793651;
        double r381563 = r381561 + r381562;
        double r381564 = z;
        double r381565 = r381563 * r381564;
        double r381566 = 0.0027777777777778;
        double r381567 = r381565 - r381566;
        double r381568 = r381567 * r381564;
        double r381569 = 0.083333333333333;
        double r381570 = r381568 + r381569;
        double r381571 = r381570 / r381545;
        double r381572 = r381560 + r381571;
        return r381572;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Target

Original5.8
Target1.4
Herbie5.8
\[\left(\left(\left(x - 0.5\right) \cdot \log x + \left(0.9189385332046700050057097541866824030876 - x\right)\right) + \frac{0.08333333333333299564049667651488562114537}{x}\right) + \frac{z}{x} \cdot \left(z \cdot \left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) - 0.002777777777777800001512975569539776188321\right)\]

Derivation

  1. Initial program 5.8

    \[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.9189385332046700050057097541866824030876\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{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.9189385332046700050057097541866824030876\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
  4. Applied log-prod5.8

    \[\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.9189385332046700050057097541866824030876\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
  5. Applied distribute-rgt-in5.8

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

    \[\leadsto \left(\color{blue}{\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\log \left(\sqrt[3]{x}\right) \cdot \left(x - 0.5\right) - x\right)\right)} + 0.9189385332046700050057097541866824030876\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
  7. Applied associate-+l+5.8

    \[\leadsto \color{blue}{\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(\log \left(\sqrt[3]{x}\right) \cdot \left(x - 0.5\right) - x\right) + 0.9189385332046700050057097541866824030876\right)\right)} + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
  8. Simplified5.8

    \[\leadsto \left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \color{blue}{\mathsf{fma}\left(x - 0.5, \log \left(\sqrt[3]{x}\right), 0.9189385332046700050057097541866824030876 - x\right)}\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
  9. Taylor expanded around inf 5.8

    \[\leadsto \left(\log \left(\sqrt[3]{x} \cdot \color{blue}{{\left(\frac{1}{x}\right)}^{\frac{-1}{3}}}\right) \cdot \left(x - 0.5\right) + \mathsf{fma}\left(x - 0.5, \log \left(\sqrt[3]{x}\right), 0.9189385332046700050057097541866824030876 - x\right)\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]
  10. Final simplification5.8

    \[\leadsto \left(\log \left(\sqrt[3]{x} \cdot {\left(\frac{1}{x}\right)}^{\frac{-1}{3}}\right) \cdot \left(x - 0.5\right) + \mathsf{fma}\left(x - 0.5, \log \left(\sqrt[3]{x}\right), 0.9189385332046700050057097541866824030876 - x\right)\right) + \frac{\left(\left(y + 7.936500793651000149400709382518925849581 \cdot 10^{-4}\right) \cdot z - 0.002777777777777800001512975569539776188321\right) \cdot z + 0.08333333333333299564049667651488562114537}{x}\]

Reproduce

herbie shell --seed 2019303 +o rules:numerics
(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.91893853320467001 x)) (/ 0.0833333333333329956 x)) (* (/ z x) (- (* z (+ y 7.93650079365100015e-4)) 0.0027777777777778)))

  (+ (+ (- (* (- x 0.5) (log x)) x) 0.91893853320467001) (/ (+ (* (- (* (+ y 7.93650079365100015e-4) z) 0.0027777777777778) z) 0.0833333333333329956) x)))