Average Error: 5.6 → 5.7
Time: 21.9s
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(\left(\left(\sqrt{x} + \sqrt{0.5}\right) \cdot \left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log 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}\]
\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(\left(\left(\sqrt{x} + \sqrt{0.5}\right) \cdot \left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log 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}
double f(double x, double y, double z) {
        double r370662 = x;
        double r370663 = 0.5;
        double r370664 = r370662 - r370663;
        double r370665 = log(r370662);
        double r370666 = r370664 * r370665;
        double r370667 = r370666 - r370662;
        double r370668 = 0.91893853320467;
        double r370669 = r370667 + r370668;
        double r370670 = y;
        double r370671 = 0.0007936500793651;
        double r370672 = r370670 + r370671;
        double r370673 = z;
        double r370674 = r370672 * r370673;
        double r370675 = 0.0027777777777778;
        double r370676 = r370674 - r370675;
        double r370677 = r370676 * r370673;
        double r370678 = 0.083333333333333;
        double r370679 = r370677 + r370678;
        double r370680 = r370679 / r370662;
        double r370681 = r370669 + r370680;
        return r370681;
}

double f(double x, double y, double z) {
        double r370682 = x;
        double r370683 = sqrt(r370682);
        double r370684 = 0.5;
        double r370685 = sqrt(r370684);
        double r370686 = r370683 + r370685;
        double r370687 = r370683 - r370685;
        double r370688 = log(r370682);
        double r370689 = r370687 * r370688;
        double r370690 = r370686 * r370689;
        double r370691 = r370690 - r370682;
        double r370692 = 0.91893853320467;
        double r370693 = r370691 + r370692;
        double r370694 = y;
        double r370695 = 0.0007936500793651;
        double r370696 = r370694 + r370695;
        double r370697 = z;
        double r370698 = r370696 * r370697;
        double r370699 = 0.0027777777777778;
        double r370700 = r370698 - r370699;
        double r370701 = r370700 * r370697;
        double r370702 = 0.083333333333333;
        double r370703 = r370701 + r370702;
        double r370704 = r370703 / r370682;
        double r370705 = r370693 + r370704;
        return r370705;
}

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.6
Target1.0
Herbie5.7
\[\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.6

    \[\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-sqr-sqrt5.6

    \[\leadsto \left(\left(\left(x - \color{blue}{\sqrt{0.5} \cdot \sqrt{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}\]
  4. Applied add-sqr-sqrt5.7

    \[\leadsto \left(\left(\left(\color{blue}{\sqrt{x} \cdot \sqrt{x}} - \sqrt{0.5} \cdot \sqrt{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}\]
  5. Applied difference-of-squares5.7

    \[\leadsto \left(\left(\color{blue}{\left(\left(\sqrt{x} + \sqrt{0.5}\right) \cdot \left(\sqrt{x} - \sqrt{0.5}\right)\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}\]
  6. Applied associate-*l*5.7

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

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

Reproduce

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