Average Error: 2.6 → 0.2
Time: 6.3s
Precision: 64
\[x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}\]
\[\frac{1}{\left(\frac{5081767996463981}{4503599627370496} \cdot \left(\sqrt[3]{\frac{e^{z}}{y}} \cdot \sqrt[3]{\frac{e^{z}}{y}}\right)\right) \cdot \sqrt[3]{\frac{e^{z}}{y}} - x} + x\]
x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}
\frac{1}{\left(\frac{5081767996463981}{4503599627370496} \cdot \left(\sqrt[3]{\frac{e^{z}}{y}} \cdot \sqrt[3]{\frac{e^{z}}{y}}\right)\right) \cdot \sqrt[3]{\frac{e^{z}}{y}} - x} + x
double f(double x, double y, double z) {
        double r238972 = x;
        double r238973 = y;
        double r238974 = 1.1283791670955126;
        double r238975 = z;
        double r238976 = exp(r238975);
        double r238977 = r238974 * r238976;
        double r238978 = r238972 * r238973;
        double r238979 = r238977 - r238978;
        double r238980 = r238973 / r238979;
        double r238981 = r238972 + r238980;
        return r238981;
}

double f(double x, double y, double z) {
        double r238982 = 1.0;
        double r238983 = 5081767996463981.0;
        double r238984 = 4503599627370496.0;
        double r238985 = r238983 / r238984;
        double r238986 = z;
        double r238987 = exp(r238986);
        double r238988 = y;
        double r238989 = r238987 / r238988;
        double r238990 = cbrt(r238989);
        double r238991 = r238990 * r238990;
        double r238992 = r238985 * r238991;
        double r238993 = r238992 * r238990;
        double r238994 = x;
        double r238995 = r238993 - r238994;
        double r238996 = r238982 / r238995;
        double r238997 = r238996 + r238994;
        return r238997;
}

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

Original2.6
Target0.1
Herbie0.2
\[x + \frac{1}{\frac{1.128379167095512558560699289955664426088}{y} \cdot e^{z} - x}\]

Derivation

  1. Initial program 2.6

    \[x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}\]
  2. Using strategy rm
  3. Applied clear-num2.6

    \[\leadsto x + \color{blue}{\frac{1}{\frac{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}{y}}}\]
  4. Simplified2.6

    \[\leadsto x + \frac{1}{\color{blue}{\frac{\frac{5081767996463981}{4503599627370496} \cdot e^{z} - x \cdot y}{y}}}\]
  5. Using strategy rm
  6. Applied *-un-lft-identity2.6

    \[\leadsto x + \frac{1}{\frac{\frac{5081767996463981}{4503599627370496} \cdot e^{z} - x \cdot y}{\color{blue}{1 \cdot y}}}\]
  7. Applied *-un-lft-identity2.6

    \[\leadsto x + \frac{1}{\frac{\color{blue}{1 \cdot \left(\frac{5081767996463981}{4503599627370496} \cdot e^{z} - x \cdot y\right)}}{1 \cdot y}}\]
  8. Applied times-frac2.6

    \[\leadsto x + \frac{1}{\color{blue}{\frac{1}{1} \cdot \frac{\frac{5081767996463981}{4503599627370496} \cdot e^{z} - x \cdot y}{y}}}\]
  9. Simplified2.6

    \[\leadsto x + \frac{1}{\color{blue}{1} \cdot \frac{\frac{5081767996463981}{4503599627370496} \cdot e^{z} - x \cdot y}{y}}\]
  10. Simplified0.1

    \[\leadsto x + \frac{1}{1 \cdot \color{blue}{\left(\frac{5081767996463981}{4503599627370496} \cdot \frac{e^{z}}{y} - x\right)}}\]
  11. Using strategy rm
  12. Applied add-cube-cbrt0.2

    \[\leadsto x + \frac{1}{1 \cdot \left(\frac{5081767996463981}{4503599627370496} \cdot \color{blue}{\left(\left(\sqrt[3]{\frac{e^{z}}{y}} \cdot \sqrt[3]{\frac{e^{z}}{y}}\right) \cdot \sqrt[3]{\frac{e^{z}}{y}}\right)} - x\right)}\]
  13. Applied associate-*r*0.2

    \[\leadsto x + \frac{1}{1 \cdot \left(\color{blue}{\left(\frac{5081767996463981}{4503599627370496} \cdot \left(\sqrt[3]{\frac{e^{z}}{y}} \cdot \sqrt[3]{\frac{e^{z}}{y}}\right)\right) \cdot \sqrt[3]{\frac{e^{z}}{y}}} - x\right)}\]
  14. Final simplification0.2

    \[\leadsto \frac{1}{\left(\frac{5081767996463981}{4503599627370496} \cdot \left(\sqrt[3]{\frac{e^{z}}{y}} \cdot \sqrt[3]{\frac{e^{z}}{y}}\right)\right) \cdot \sqrt[3]{\frac{e^{z}}{y}} - x} + x\]

Reproduce

herbie shell --seed 2019304 
(FPCore (x y z)
  :name "Numeric.SpecFunctions:invErfc from math-functions-0.1.5.2, A"
  :precision binary64

  :herbie-target
  (+ x (/ 1 (- (* (/ 1.12837916709551256 y) (exp z)) x)))

  (+ x (/ y (- (* 1.12837916709551256 (exp z)) (* x y)))))