Average Error: 0.1 → 0.1
Time: 1.9s
Precision: 64
\[\frac{x \cdot x - 3}{6}\]
\[x \cdot \left(0.1666666666666666574148081281236954964697 \cdot x\right) - 0.5\]
\frac{x \cdot x - 3}{6}
x \cdot \left(0.1666666666666666574148081281236954964697 \cdot x\right) - 0.5
double f(double x) {
        double r59974 = x;
        double r59975 = r59974 * r59974;
        double r59976 = 3.0;
        double r59977 = r59975 - r59976;
        double r59978 = 6.0;
        double r59979 = r59977 / r59978;
        return r59979;
}

double f(double x) {
        double r59980 = x;
        double r59981 = 0.16666666666666666;
        double r59982 = r59981 * r59980;
        double r59983 = r59980 * r59982;
        double r59984 = 0.5;
        double r59985 = r59983 - r59984;
        return r59985;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\frac{x \cdot x - 3}{6}\]
  2. Taylor expanded around 0 0.2

    \[\leadsto \color{blue}{0.1666666666666666574148081281236954964697 \cdot {x}^{2} - 0.5}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt32.0

    \[\leadsto 0.1666666666666666574148081281236954964697 \cdot {\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)}}^{2} - 0.5\]
  5. Applied unpow-prod-down32.0

    \[\leadsto 0.1666666666666666574148081281236954964697 \cdot \color{blue}{\left({\left(\sqrt{x}\right)}^{2} \cdot {\left(\sqrt{x}\right)}^{2}\right)} - 0.5\]
  6. Applied add-sqr-sqrt32.0

    \[\leadsto \color{blue}{\left(\sqrt{0.1666666666666666574148081281236954964697} \cdot \sqrt{0.1666666666666666574148081281236954964697}\right)} \cdot \left({\left(\sqrt{x}\right)}^{2} \cdot {\left(\sqrt{x}\right)}^{2}\right) - 0.5\]
  7. Applied unswap-sqr32.0

    \[\leadsto \color{blue}{\left(\sqrt{0.1666666666666666574148081281236954964697} \cdot {\left(\sqrt{x}\right)}^{2}\right) \cdot \left(\sqrt{0.1666666666666666574148081281236954964697} \cdot {\left(\sqrt{x}\right)}^{2}\right)} - 0.5\]
  8. Simplified32.0

    \[\leadsto \color{blue}{\left(x \cdot \sqrt{0.1666666666666666574148081281236954964697}\right)} \cdot \left(\sqrt{0.1666666666666666574148081281236954964697} \cdot {\left(\sqrt{x}\right)}^{2}\right) - 0.5\]
  9. Simplified0.2

    \[\leadsto \left(x \cdot \sqrt{0.1666666666666666574148081281236954964697}\right) \cdot \color{blue}{\left(x \cdot \sqrt{0.1666666666666666574148081281236954964697}\right)} - 0.5\]
  10. Using strategy rm
  11. Applied associate-*l*0.1

    \[\leadsto \color{blue}{x \cdot \left(\sqrt{0.1666666666666666574148081281236954964697} \cdot \left(x \cdot \sqrt{0.1666666666666666574148081281236954964697}\right)\right)} - 0.5\]
  12. Simplified0.1

    \[\leadsto x \cdot \color{blue}{\left(0.1666666666666666574148081281236954964697 \cdot x\right)} - 0.5\]
  13. Final simplification0.1

    \[\leadsto x \cdot \left(0.1666666666666666574148081281236954964697 \cdot x\right) - 0.5\]

Reproduce

herbie shell --seed 2019353 +o rules:numerics
(FPCore (x)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, H"
  :precision binary64
  (/ (- (* x x) 3) 6))