Average Error: 30.9 → 0.3
Time: 14.7s
Precision: 64
\[\frac{1 - \cos x}{x \cdot x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.03474669209571521:\\ \;\;\;\;\frac{\frac{1 - \cos x}{x}}{x}\\ \mathbf{elif}\;x \le 0.007030302033610333:\\ \;\;\;\;\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{720} + \frac{1}{2}\right) - \left(x \cdot x\right) \cdot \frac{1}{24}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sin x \cdot \tan \left(\frac{x}{2}\right)}{x \cdot x}\\ \end{array}\]
\frac{1 - \cos x}{x \cdot x}
\begin{array}{l}
\mathbf{if}\;x \le -0.03474669209571521:\\
\;\;\;\;\frac{\frac{1 - \cos x}{x}}{x}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{\sin x \cdot \tan \left(\frac{x}{2}\right)}{x \cdot x}\\

\end{array}
double f(double x) {
        double r880599 = 1.0;
        double r880600 = x;
        double r880601 = cos(r880600);
        double r880602 = r880599 - r880601;
        double r880603 = r880600 * r880600;
        double r880604 = r880602 / r880603;
        return r880604;
}

double f(double x) {
        double r880605 = x;
        double r880606 = -0.03474669209571521;
        bool r880607 = r880605 <= r880606;
        double r880608 = 1.0;
        double r880609 = cos(r880605);
        double r880610 = r880608 - r880609;
        double r880611 = r880610 / r880605;
        double r880612 = r880611 / r880605;
        double r880613 = 0.007030302033610333;
        bool r880614 = r880605 <= r880613;
        double r880615 = r880605 * r880605;
        double r880616 = r880615 * r880615;
        double r880617 = 0.001388888888888889;
        double r880618 = r880616 * r880617;
        double r880619 = 0.5;
        double r880620 = r880618 + r880619;
        double r880621 = 0.041666666666666664;
        double r880622 = r880615 * r880621;
        double r880623 = r880620 - r880622;
        double r880624 = sin(r880605);
        double r880625 = 2.0;
        double r880626 = r880605 / r880625;
        double r880627 = tan(r880626);
        double r880628 = r880624 * r880627;
        double r880629 = r880628 / r880615;
        double r880630 = r880614 ? r880623 : r880629;
        double r880631 = r880607 ? r880612 : r880630;
        return r880631;
}

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

    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}}\]

    if -0.03474669209571521 < x < 0.007030302033610333

    1. Initial program 61.2

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied flip--61.2

      \[\leadsto \frac{\color{blue}{\frac{1 \cdot 1 - \cos x \cdot \cos x}{1 + \cos x}}}{x \cdot x}\]
    4. Simplified30.2

      \[\leadsto \frac{\frac{\color{blue}{\sin x \cdot \sin x}}{1 + \cos x}}{x \cdot x}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity30.2

      \[\leadsto \frac{\frac{\sin x \cdot \sin x}{\color{blue}{1 \cdot \left(1 + \cos x\right)}}}{x \cdot x}\]
    7. Applied times-frac30.2

      \[\leadsto \frac{\color{blue}{\frac{\sin x}{1} \cdot \frac{\sin x}{1 + \cos x}}}{x \cdot x}\]
    8. Simplified30.2

      \[\leadsto \frac{\color{blue}{\sin x} \cdot \frac{\sin x}{1 + \cos x}}{x \cdot x}\]
    9. Simplified30.2

      \[\leadsto \frac{\sin x \cdot \color{blue}{\tan \left(\frac{x}{2}\right)}}{x \cdot x}\]
    10. 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}}\]
    11. Simplified0.0

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

    if 0.007030302033610333 < x

    1. Initial program 1.0

      \[\frac{1 - \cos x}{x \cdot x}\]
    2. Using strategy rm
    3. Applied flip--1.2

      \[\leadsto \frac{\color{blue}{\frac{1 \cdot 1 - \cos x \cdot \cos x}{1 + \cos x}}}{x \cdot x}\]
    4. Simplified1.1

      \[\leadsto \frac{\frac{\color{blue}{\sin x \cdot \sin x}}{1 + \cos x}}{x \cdot x}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity1.1

      \[\leadsto \frac{\frac{\sin x \cdot \sin x}{\color{blue}{1 \cdot \left(1 + \cos x\right)}}}{x \cdot x}\]
    7. Applied times-frac1.1

      \[\leadsto \frac{\color{blue}{\frac{\sin x}{1} \cdot \frac{\sin x}{1 + \cos x}}}{x \cdot x}\]
    8. Simplified1.1

      \[\leadsto \frac{\color{blue}{\sin x} \cdot \frac{\sin x}{1 + \cos x}}{x \cdot x}\]
    9. Simplified0.7

      \[\leadsto \frac{\sin x \cdot \color{blue}{\tan \left(\frac{x}{2}\right)}}{x \cdot x}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -0.03474669209571521:\\ \;\;\;\;\frac{\frac{1 - \cos x}{x}}{x}\\ \mathbf{elif}\;x \le 0.007030302033610333:\\ \;\;\;\;\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{720} + \frac{1}{2}\right) - \left(x \cdot x\right) \cdot \frac{1}{24}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sin x \cdot \tan \left(\frac{x}{2}\right)}{x \cdot x}\\ \end{array}\]

Reproduce

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