Average Error: 5.6 → 2.0
Time: 23.6s
Precision: 64
\[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
\[\begin{array}{l} \mathbf{if}\;z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right) \le -3.432525363345576 \cdot 10^{-11}:\\ \;\;\;\;\left(\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x}\right) - x\right)\right) + 0.91893853320467\right) + \left(\left(0.0007936500793651 + y\right) \cdot \frac{z \cdot z}{x} - \frac{z}{x} \cdot 0.0027777777777778\right)\\ \mathbf{elif}\;z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right) \le 9.449329761537006 \cdot 10^{+294}:\\ \;\;\;\;\left(0.91893853320467 + \left(\log x \cdot \left(x - 0.5\right) - x\right)\right) + \left(0.083333333333333 + z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right)\right) \cdot \frac{1}{x}\\ \mathbf{else}:\\ \;\;\;\;\left(0.91893853320467 + \left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(x - 0.5\right) \cdot \log \left({\left({x}^{\left(\sqrt{\frac{1}{3}}\right)}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right) - x\right)\right)\right) + \left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - \frac{z}{x} \cdot 0.0027777777777778\right) + \frac{0.083333333333333}{x}\right)\\ \end{array}\]
\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}
\begin{array}{l}
\mathbf{if}\;z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right) \le -3.432525363345576 \cdot 10^{-11}:\\
\;\;\;\;\left(\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x}\right) - x\right)\right) + 0.91893853320467\right) + \left(\left(0.0007936500793651 + y\right) \cdot \frac{z \cdot z}{x} - \frac{z}{x} \cdot 0.0027777777777778\right)\\

\mathbf{elif}\;z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right) \le 9.449329761537006 \cdot 10^{+294}:\\
\;\;\;\;\left(0.91893853320467 + \left(\log x \cdot \left(x - 0.5\right) - x\right)\right) + \left(0.083333333333333 + z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right)\right) \cdot \frac{1}{x}\\

\mathbf{else}:\\
\;\;\;\;\left(0.91893853320467 + \left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(x - 0.5\right) \cdot \log \left({\left({x}^{\left(\sqrt{\frac{1}{3}}\right)}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right) - x\right)\right)\right) + \left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - \frac{z}{x} \cdot 0.0027777777777778\right) + \frac{0.083333333333333}{x}\right)\\

\end{array}
double f(double x, double y, double z) {
        double r24398283 = x;
        double r24398284 = 0.5;
        double r24398285 = r24398283 - r24398284;
        double r24398286 = log(r24398283);
        double r24398287 = r24398285 * r24398286;
        double r24398288 = r24398287 - r24398283;
        double r24398289 = 0.91893853320467;
        double r24398290 = r24398288 + r24398289;
        double r24398291 = y;
        double r24398292 = 0.0007936500793651;
        double r24398293 = r24398291 + r24398292;
        double r24398294 = z;
        double r24398295 = r24398293 * r24398294;
        double r24398296 = 0.0027777777777778;
        double r24398297 = r24398295 - r24398296;
        double r24398298 = r24398297 * r24398294;
        double r24398299 = 0.083333333333333;
        double r24398300 = r24398298 + r24398299;
        double r24398301 = r24398300 / r24398283;
        double r24398302 = r24398290 + r24398301;
        return r24398302;
}

double f(double x, double y, double z) {
        double r24398303 = z;
        double r24398304 = 0.0007936500793651;
        double r24398305 = y;
        double r24398306 = r24398304 + r24398305;
        double r24398307 = r24398306 * r24398303;
        double r24398308 = 0.0027777777777778;
        double r24398309 = r24398307 - r24398308;
        double r24398310 = r24398303 * r24398309;
        double r24398311 = -3.432525363345576e-11;
        bool r24398312 = r24398310 <= r24398311;
        double r24398313 = x;
        double r24398314 = cbrt(r24398313);
        double r24398315 = r24398314 * r24398314;
        double r24398316 = log(r24398315);
        double r24398317 = 0.5;
        double r24398318 = r24398313 - r24398317;
        double r24398319 = r24398316 * r24398318;
        double r24398320 = log(r24398314);
        double r24398321 = r24398318 * r24398320;
        double r24398322 = r24398321 - r24398313;
        double r24398323 = r24398319 + r24398322;
        double r24398324 = 0.91893853320467;
        double r24398325 = r24398323 + r24398324;
        double r24398326 = r24398303 * r24398303;
        double r24398327 = r24398326 / r24398313;
        double r24398328 = r24398306 * r24398327;
        double r24398329 = r24398303 / r24398313;
        double r24398330 = r24398329 * r24398308;
        double r24398331 = r24398328 - r24398330;
        double r24398332 = r24398325 + r24398331;
        double r24398333 = 9.449329761537006e+294;
        bool r24398334 = r24398310 <= r24398333;
        double r24398335 = log(r24398313);
        double r24398336 = r24398335 * r24398318;
        double r24398337 = r24398336 - r24398313;
        double r24398338 = r24398324 + r24398337;
        double r24398339 = 0.083333333333333;
        double r24398340 = r24398339 + r24398310;
        double r24398341 = 1.0;
        double r24398342 = r24398341 / r24398313;
        double r24398343 = r24398340 * r24398342;
        double r24398344 = r24398338 + r24398343;
        double r24398345 = 0.3333333333333333;
        double r24398346 = sqrt(r24398345);
        double r24398347 = pow(r24398313, r24398346);
        double r24398348 = pow(r24398347, r24398346);
        double r24398349 = log(r24398348);
        double r24398350 = r24398318 * r24398349;
        double r24398351 = r24398350 - r24398313;
        double r24398352 = r24398319 + r24398351;
        double r24398353 = r24398324 + r24398352;
        double r24398354 = r24398303 * r24398304;
        double r24398355 = r24398313 / r24398303;
        double r24398356 = r24398354 / r24398355;
        double r24398357 = r24398356 - r24398330;
        double r24398358 = r24398339 / r24398313;
        double r24398359 = r24398357 + r24398358;
        double r24398360 = r24398353 + r24398359;
        double r24398361 = r24398334 ? r24398344 : r24398360;
        double r24398362 = r24398312 ? r24398332 : r24398361;
        return r24398362;
}

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.1
Herbie2.0
\[\left(\left(\left(x - 0.5\right) \cdot \log x + \left(0.91893853320467 - x\right)\right) + \frac{0.083333333333333}{x}\right) + \frac{z}{x} \cdot \left(z \cdot \left(y + 0.0007936500793651\right) - 0.0027777777777778\right)\]

Derivation

  1. Split input into 3 regimes
  2. if (* (- (* (+ y 0.0007936500793651) z) 0.0027777777777778) z) < -3.432525363345576e-11

    1. Initial program 15.4

      \[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt15.4

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    4. Applied log-prod15.4

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    5. Applied distribute-rgt-in15.4

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    6. Applied associate--l+15.4

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    7. Taylor expanded around inf 19.6

      \[\leadsto \left(\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.91893853320467\right) + \color{blue}{\left(\left(0.0007936500793651 \cdot \frac{{z}^{2}}{x} + \frac{{z}^{2} \cdot y}{x}\right) - 0.0027777777777778 \cdot \frac{z}{x}\right)}\]
    8. Simplified9.4

      \[\leadsto \left(\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.91893853320467\right) + \color{blue}{\left(\frac{z \cdot z}{x} \cdot \left(0.0007936500793651 + y\right) - 0.0027777777777778 \cdot \frac{z}{x}\right)}\]

    if -3.432525363345576e-11 < (* (- (* (+ y 0.0007936500793651) z) 0.0027777777777778) z) < 9.449329761537006e+294

    1. Initial program 0.2

      \[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    2. Using strategy rm
    3. Applied div-inv0.4

      \[\leadsto \left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467\right) + \color{blue}{\left(\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333\right) \cdot \frac{1}{x}}\]

    if 9.449329761537006e+294 < (* (- (* (+ y 0.0007936500793651) z) 0.0027777777777778) z)

    1. Initial program 55.0

      \[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt55.0

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    4. Applied log-prod55.0

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    5. Applied distribute-rgt-in55.0

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    6. Applied associate--l+55.0

      \[\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.91893853320467\right) + \frac{\left(\left(y + 0.0007936500793651\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.083333333333333}{x}\]
    7. Taylor expanded around 0 47.8

      \[\leadsto \left(\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.91893853320467\right) + \color{blue}{\left(\left(0.0007936500793651 \cdot \frac{{z}^{2}}{x} + 0.083333333333333 \cdot \frac{1}{x}\right) - 0.0027777777777778 \cdot \frac{z}{x}\right)}\]
    8. Simplified9.7

      \[\leadsto \left(\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.91893853320467\right) + \color{blue}{\left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.083333333333333}{x}\right)}\]
    9. Using strategy rm
    10. Applied pow1/39.7

      \[\leadsto \left(\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\log \color{blue}{\left({x}^{\frac{1}{3}}\right)} \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467\right) + \left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.083333333333333}{x}\right)\]
    11. Using strategy rm
    12. Applied add-sqr-sqrt9.7

      \[\leadsto \left(\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\log \left({x}^{\color{blue}{\left(\sqrt{\frac{1}{3}} \cdot \sqrt{\frac{1}{3}}\right)}}\right) \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467\right) + \left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.083333333333333}{x}\right)\]
    13. Applied pow-unpow9.7

      \[\leadsto \left(\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\log \color{blue}{\left({\left({x}^{\left(\sqrt{\frac{1}{3}}\right)}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right)} \cdot \left(x - 0.5\right) - x\right)\right) + 0.91893853320467\right) + \left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - 0.0027777777777778 \cdot \frac{z}{x}\right) + \frac{0.083333333333333}{x}\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification2.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right) \le -3.432525363345576 \cdot 10^{-11}:\\ \;\;\;\;\left(\left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(x - 0.5\right) \cdot \log \left(\sqrt[3]{x}\right) - x\right)\right) + 0.91893853320467\right) + \left(\left(0.0007936500793651 + y\right) \cdot \frac{z \cdot z}{x} - \frac{z}{x} \cdot 0.0027777777777778\right)\\ \mathbf{elif}\;z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right) \le 9.449329761537006 \cdot 10^{+294}:\\ \;\;\;\;\left(0.91893853320467 + \left(\log x \cdot \left(x - 0.5\right) - x\right)\right) + \left(0.083333333333333 + z \cdot \left(\left(0.0007936500793651 + y\right) \cdot z - 0.0027777777777778\right)\right) \cdot \frac{1}{x}\\ \mathbf{else}:\\ \;\;\;\;\left(0.91893853320467 + \left(\log \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(x - 0.5\right) + \left(\left(x - 0.5\right) \cdot \log \left({\left({x}^{\left(\sqrt{\frac{1}{3}}\right)}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right) - x\right)\right)\right) + \left(\left(\frac{z \cdot 0.0007936500793651}{\frac{x}{z}} - \frac{z}{x} \cdot 0.0027777777777778\right) + \frac{0.083333333333333}{x}\right)\\ \end{array}\]

Reproduce

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

  :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)))