Average Error: 31.5 → 0.4
Time: 18.3s
Precision: 64
\[\frac{1 - \cos x}{x \cdot x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.0370517283930400648239711358655767980963:\\ \;\;\;\;\frac{1}{x} \cdot \frac{{1}^{3} - \sqrt[3]{\left(\left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)}}{x \cdot \left(\cos x \cdot \left(1 + \cos x\right) + 1 \cdot 1\right)}\\ \mathbf{elif}\;x \le 0.03330291426620153594218010084659908898175:\\ \;\;\;\;\frac{1}{2} + \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{720} + \frac{-1}{24}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\log \left(1 - \cos x\right)}}{x \cdot x}\\ \end{array}\]
\frac{1 - \cos x}{x \cdot x}
\begin{array}{l}
\mathbf{if}\;x \le -0.0370517283930400648239711358655767980963:\\
\;\;\;\;\frac{1}{x} \cdot \frac{{1}^{3} - \sqrt[3]{\left(\left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)}}{x \cdot \left(\cos x \cdot \left(1 + \cos x\right) + 1 \cdot 1\right)}\\

\mathbf{elif}\;x \le 0.03330291426620153594218010084659908898175:\\
\;\;\;\;\frac{1}{2} + \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{720} + \frac{-1}{24}\right)\\

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

\end{array}
double f(double x) {
        double r1619589 = 1.0;
        double r1619590 = x;
        double r1619591 = cos(r1619590);
        double r1619592 = r1619589 - r1619591;
        double r1619593 = r1619590 * r1619590;
        double r1619594 = r1619592 / r1619593;
        return r1619594;
}

double f(double x) {
        double r1619595 = x;
        double r1619596 = -0.037051728393040065;
        bool r1619597 = r1619595 <= r1619596;
        double r1619598 = 1.0;
        double r1619599 = r1619598 / r1619595;
        double r1619600 = 1.0;
        double r1619601 = 3.0;
        double r1619602 = pow(r1619600, r1619601);
        double r1619603 = cos(r1619595);
        double r1619604 = r1619603 * r1619603;
        double r1619605 = r1619604 * r1619603;
        double r1619606 = r1619605 * r1619605;
        double r1619607 = r1619606 * r1619605;
        double r1619608 = cbrt(r1619607);
        double r1619609 = r1619602 - r1619608;
        double r1619610 = r1619600 + r1619603;
        double r1619611 = r1619603 * r1619610;
        double r1619612 = r1619600 * r1619600;
        double r1619613 = r1619611 + r1619612;
        double r1619614 = r1619595 * r1619613;
        double r1619615 = r1619609 / r1619614;
        double r1619616 = r1619599 * r1619615;
        double r1619617 = 0.033302914266201536;
        bool r1619618 = r1619595 <= r1619617;
        double r1619619 = 0.5;
        double r1619620 = r1619595 * r1619595;
        double r1619621 = 0.001388888888888889;
        double r1619622 = r1619620 * r1619621;
        double r1619623 = -0.041666666666666664;
        double r1619624 = r1619622 + r1619623;
        double r1619625 = r1619620 * r1619624;
        double r1619626 = r1619619 + r1619625;
        double r1619627 = r1619600 - r1619603;
        double r1619628 = log(r1619627);
        double r1619629 = exp(r1619628);
        double r1619630 = r1619629 / r1619620;
        double r1619631 = r1619618 ? r1619626 : r1619630;
        double r1619632 = r1619597 ? r1619616 : r1619631;
        return r1619632;
}

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.037051728393040065

    1. Initial program 1.3

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity1.3

      \[\leadsto \frac{\color{blue}{1 \cdot \left(1 - \cos x\right)}}{x \cdot x}\]
    4. Applied times-frac0.5

      \[\leadsto \color{blue}{\frac{1}{x} \cdot \frac{1 - \cos x}{x}}\]
    5. Using strategy rm
    6. Applied flip3--0.6

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

      \[\leadsto \frac{1}{x} \cdot \color{blue}{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{x \cdot \left(1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)\right)}}\]
    8. Simplified0.6

      \[\leadsto \frac{1}{x} \cdot \frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\color{blue}{x \cdot \left(\cos x \cdot \left(1 + \cos x\right) + 1 \cdot 1\right)}}\]
    9. Using strategy rm
    10. Applied add-cbrt-cube0.6

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

      \[\leadsto \frac{1}{x} \cdot \frac{{1}^{3} - \sqrt[3]{\color{blue}{\left(\left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)}}}{x \cdot \left(\cos x \cdot \left(1 + \cos x\right) + 1 \cdot 1\right)}\]

    if -0.037051728393040065 < x < 0.033302914266201536

    1. Initial program 62.3

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. 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}}\]
    3. Simplified0.0

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

    if 0.033302914266201536 < x

    1. Initial program 1.1

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied add-exp-log1.1

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

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

Reproduce

herbie shell --seed 2019174 
(FPCore (x)
  :name "cos2 (problem 3.4.1)"
  (/ (- 1.0 (cos x)) (* x x)))