Average Error: 6.0 → 5.2
Time: 8.4s
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}\]
\[\begin{array}{l} \mathbf{if}\;x \le 2.05678114906993506 \cdot 10^{132}:\\ \;\;\;\;\left(\left(\frac{\left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log x\right) \cdot \left(x + \left(-0.5\right)\right)}{\sqrt{x} - \sqrt{0.5}} - 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}\\ \mathbf{else}:\\ \;\;\;\;\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.91893853320467001\right)\right) + \left(\left(7.93650079365100015 \cdot 10^{-4} \cdot \frac{{z}^{2}}{x} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.0833333333333329956}{x}\right)\\ \end{array}\]
\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}
\begin{array}{l}
\mathbf{if}\;x \le 2.05678114906993506 \cdot 10^{132}:\\
\;\;\;\;\left(\left(\frac{\left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log x\right) \cdot \left(x + \left(-0.5\right)\right)}{\sqrt{x} - \sqrt{0.5}} - 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}\\

\mathbf{else}:\\
\;\;\;\;\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.91893853320467001\right)\right) + \left(\left(7.93650079365100015 \cdot 10^{-4} \cdot \frac{{z}^{2}}{x} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.0833333333333329956}{x}\right)\\

\end{array}
double f(double x, double y, double z) {
        double r411156 = x;
        double r411157 = 0.5;
        double r411158 = r411156 - r411157;
        double r411159 = log(r411156);
        double r411160 = r411158 * r411159;
        double r411161 = r411160 - r411156;
        double r411162 = 0.91893853320467;
        double r411163 = r411161 + r411162;
        double r411164 = y;
        double r411165 = 0.0007936500793651;
        double r411166 = r411164 + r411165;
        double r411167 = z;
        double r411168 = r411166 * r411167;
        double r411169 = 0.0027777777777778;
        double r411170 = r411168 - r411169;
        double r411171 = r411170 * r411167;
        double r411172 = 0.083333333333333;
        double r411173 = r411171 + r411172;
        double r411174 = r411173 / r411156;
        double r411175 = r411163 + r411174;
        return r411175;
}

double f(double x, double y, double z) {
        double r411176 = x;
        double r411177 = 2.056781149069935e+132;
        bool r411178 = r411176 <= r411177;
        double r411179 = sqrt(r411176);
        double r411180 = 0.5;
        double r411181 = sqrt(r411180);
        double r411182 = r411179 - r411181;
        double r411183 = log(r411176);
        double r411184 = r411182 * r411183;
        double r411185 = -r411180;
        double r411186 = r411176 + r411185;
        double r411187 = r411184 * r411186;
        double r411188 = r411187 / r411182;
        double r411189 = r411188 - r411176;
        double r411190 = 0.91893853320467;
        double r411191 = r411189 + r411190;
        double r411192 = y;
        double r411193 = 0.0007936500793651;
        double r411194 = r411192 + r411193;
        double r411195 = z;
        double r411196 = r411194 * r411195;
        double r411197 = 0.0027777777777778;
        double r411198 = r411196 - r411197;
        double r411199 = r411198 * r411195;
        double r411200 = 0.083333333333333;
        double r411201 = r411199 + r411200;
        double r411202 = r411201 / r411176;
        double r411203 = r411191 + r411202;
        double r411204 = cbrt(r411176);
        double r411205 = r411204 * r411204;
        double r411206 = log(r411205);
        double r411207 = r411176 - r411180;
        double r411208 = r411206 * r411207;
        double r411209 = log(r411204);
        double r411210 = r411209 * r411207;
        double r411211 = r411210 - r411176;
        double r411212 = r411211 + r411190;
        double r411213 = r411208 + r411212;
        double r411214 = 2.0;
        double r411215 = pow(r411195, r411214);
        double r411216 = r411215 / r411176;
        double r411217 = r411193 * r411216;
        double r411218 = r411195 / r411176;
        double r411219 = r411197 * r411218;
        double r411220 = r411217 - r411219;
        double r411221 = r411200 / r411176;
        double r411222 = r411220 + r411221;
        double r411223 = r411213 + r411222;
        double r411224 = r411178 ? r411203 : r411223;
        return r411224;
}

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.0
Target1.2
Herbie5.2
\[\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. Split input into 2 regimes
  2. if x < 2.056781149069935e+132

    1. Initial program 1.9

      \[\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-sqr-sqrt1.9

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

      \[\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.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
    5. Applied difference-of-squares2.0

      \[\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.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*2.0

      \[\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.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
    7. Using strategy rm
    8. Applied flip-+2.0

      \[\leadsto \left(\left(\color{blue}{\frac{\sqrt{x} \cdot \sqrt{x} - \sqrt{0.5} \cdot \sqrt{0.5}}{\sqrt{x} - \sqrt{0.5}}} \cdot \left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log 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}\]
    9. Applied associate-*l/2.0

      \[\leadsto \left(\left(\color{blue}{\frac{\left(\sqrt{x} \cdot \sqrt{x} - \sqrt{0.5} \cdot \sqrt{0.5}\right) \cdot \left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log x\right)}{\sqrt{x} - \sqrt{0.5}}} - 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}\]
    10. Simplified1.9

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

    if 2.056781149069935e+132 < x

    1. Initial program 13.6

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

      \[\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-prod13.7

      \[\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-rgt-in13.6

      \[\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.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+13.6

      \[\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.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
    7. Applied associate-+l+13.6

      \[\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.91893853320467001\right)\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 0 11.2

      \[\leadsto \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.91893853320467001\right)\right) + \color{blue}{\left(\left(7.93650079365100015 \cdot 10^{-4} \cdot \frac{{z}^{2}}{x} + 0.0833333333333329956 \cdot \frac{1}{x}\right) - 0.0027777777777778 \cdot \frac{z}{x}\right)}\]
    9. Simplified11.2

      \[\leadsto \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.91893853320467001\right)\right) + \color{blue}{\left(\left(7.93650079365100015 \cdot 10^{-4} \cdot \frac{{z}^{2}}{x} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.0833333333333329956}{x}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le 2.05678114906993506 \cdot 10^{132}:\\ \;\;\;\;\left(\left(\frac{\left(\left(\sqrt{x} - \sqrt{0.5}\right) \cdot \log x\right) \cdot \left(x + \left(-0.5\right)\right)}{\sqrt{x} - \sqrt{0.5}} - 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}\\ \mathbf{else}:\\ \;\;\;\;\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.91893853320467001\right)\right) + \left(\left(7.93650079365100015 \cdot 10^{-4} \cdot \frac{{z}^{2}}{x} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.0833333333333329956}{x}\right)\\ \end{array}\]

Reproduce

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