Average Error: 31.8 → 0.2
Time: 7.9s
Precision: 64
\[\frac{1 - \cos x}{x \cdot x}\]
\[\begin{array}{l} \mathbf{if}\;x \le \frac{-1907116567994743}{72057594037927936}:\\ \;\;\;\;\frac{\frac{e^{\log \left(1 - \cos x\right)}}{x}}{x}\\ \mathbf{elif}\;x \le \frac{8640391372512233}{288230376151711744}:\\ \;\;\;\;\frac{1}{2} - \left(\frac{{x}^{2}}{24} - \frac{{x}^{4}}{720}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{\left(\cos x \cdot \left(\cos x + 1\right) + 1 \cdot 1\right) \cdot x}}{x}\\ \end{array}\]
\frac{1 - \cos x}{x \cdot x}
\begin{array}{l}
\mathbf{if}\;x \le \frac{-1907116567994743}{72057594037927936}:\\
\;\;\;\;\frac{\frac{e^{\log \left(1 - \cos x\right)}}{x}}{x}\\

\mathbf{elif}\;x \le \frac{8640391372512233}{288230376151711744}:\\
\;\;\;\;\frac{1}{2} - \left(\frac{{x}^{2}}{24} - \frac{{x}^{4}}{720}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{\left(\cos x \cdot \left(\cos x + 1\right) + 1 \cdot 1\right) \cdot x}}{x}\\

\end{array}
double f(double x) {
        double r74574 = 1.0;
        double r74575 = x;
        double r74576 = cos(r74575);
        double r74577 = r74574 - r74576;
        double r74578 = r74575 * r74575;
        double r74579 = r74577 / r74578;
        return r74579;
}

double f(double x) {
        double r74580 = x;
        double r74581 = -1907116567994743.0;
        double r74582 = 7.205759403792794e+16;
        double r74583 = r74581 / r74582;
        bool r74584 = r74580 <= r74583;
        double r74585 = 1.0;
        double r74586 = cos(r74580);
        double r74587 = r74585 - r74586;
        double r74588 = log(r74587);
        double r74589 = exp(r74588);
        double r74590 = r74589 / r74580;
        double r74591 = r74590 / r74580;
        double r74592 = 8640391372512233.0;
        double r74593 = 2.8823037615171174e+17;
        double r74594 = r74592 / r74593;
        bool r74595 = r74580 <= r74594;
        double r74596 = 1.0;
        double r74597 = 2.0;
        double r74598 = r74596 / r74597;
        double r74599 = pow(r74580, r74597);
        double r74600 = 24.0;
        double r74601 = r74599 / r74600;
        double r74602 = 4.0;
        double r74603 = pow(r74580, r74602);
        double r74604 = 720.0;
        double r74605 = r74603 / r74604;
        double r74606 = r74601 - r74605;
        double r74607 = r74598 - r74606;
        double r74608 = 3.0;
        double r74609 = pow(r74585, r74608);
        double r74610 = pow(r74586, r74608);
        double r74611 = r74609 - r74610;
        double r74612 = log(r74611);
        double r74613 = exp(r74612);
        double r74614 = r74586 + r74585;
        double r74615 = r74586 * r74614;
        double r74616 = r74585 * r74585;
        double r74617 = r74615 + r74616;
        double r74618 = r74617 * r74580;
        double r74619 = r74613 / r74618;
        double r74620 = r74619 / r74580;
        double r74621 = r74595 ? r74607 : r74620;
        double r74622 = r74584 ? r74591 : r74621;
        return r74622;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if x < -0.026466559055398395

    1. Initial program 1.2

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied associate-/r*0.5

      \[\leadsto \color{blue}{\frac{\frac{1 - \cos x}{x}}{x}}\]
    4. Using strategy rm
    5. Applied add-exp-log0.5

      \[\leadsto \frac{\frac{\color{blue}{e^{\log \left(1 - \cos x\right)}}}{x}}{x}\]

    if -0.026466559055398395 < x < 0.029977379511048872

    1. Initial program 62.2

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied associate-/r*61.3

      \[\leadsto \color{blue}{\frac{\frac{1 - \cos x}{x}}{x}}\]
    4. Taylor expanded around 0 0.0

      \[\leadsto \color{blue}{\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}}\]
    5. Simplified0.0

      \[\leadsto \color{blue}{\frac{1}{2} - \left(\frac{{x}^{2}}{24} - \frac{{x}^{4}}{720}\right)}\]

    if 0.029977379511048872 < x

    1. Initial program 1.0

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied associate-/r*0.5

      \[\leadsto \color{blue}{\frac{\frac{1 - \cos x}{x}}{x}}\]
    4. Using strategy rm
    5. Applied add-exp-log0.5

      \[\leadsto \frac{\frac{\color{blue}{e^{\log \left(1 - \cos x\right)}}}{x}}{x}\]
    6. Using strategy rm
    7. Applied flip3--0.5

      \[\leadsto \frac{\frac{e^{\log \color{blue}{\left(\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)}\right)}}}{x}}{x}\]
    8. Applied log-div0.5

      \[\leadsto \frac{\frac{e^{\color{blue}{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right) - \log \left(1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)\right)}}}{x}}{x}\]
    9. Applied exp-diff0.5

      \[\leadsto \frac{\frac{\color{blue}{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{e^{\log \left(1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)\right)}}}}{x}}{x}\]
    10. Applied associate-/l/0.5

      \[\leadsto \frac{\color{blue}{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{x \cdot e^{\log \left(1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)\right)}}}}{x}\]
    11. Simplified0.5

      \[\leadsto \frac{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{\color{blue}{\left(\cos x \cdot \left(\cos x + 1\right) + 1 \cdot 1\right) \cdot x}}}{x}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le \frac{-1907116567994743}{72057594037927936}:\\ \;\;\;\;\frac{\frac{e^{\log \left(1 - \cos x\right)}}{x}}{x}\\ \mathbf{elif}\;x \le \frac{8640391372512233}{288230376151711744}:\\ \;\;\;\;\frac{1}{2} - \left(\frac{{x}^{2}}{24} - \frac{{x}^{4}}{720}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{\left(\cos x \cdot \left(\cos x + 1\right) + 1 \cdot 1\right) \cdot x}}{x}\\ \end{array}\]

Reproduce

herbie shell --seed 350497007 
(FPCore (x)
  :name "cos2 (problem 3.4.1)"
  :precision binary64
  (/ (- 1 (cos x)) (* x x)))