Average Error: 31.5 → 0.3
Time: 16.4s
Precision: 64
\[\frac{1 - \cos x}{x \cdot x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.0308611095906960383739026099192415131256:\\ \;\;\;\;\frac{\frac{1}{x} - \cos x \cdot \frac{1}{x}}{x}\\ \mathbf{elif}\;x \le 0.03328058389703145159010944098554318770766:\\ \;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{x}}{x} - \frac{\frac{\cos x}{x}}{x}\\ \end{array}\]
\frac{1 - \cos x}{x \cdot x}
\begin{array}{l}
\mathbf{if}\;x \le -0.0308611095906960383739026099192415131256:\\
\;\;\;\;\frac{\frac{1}{x} - \cos x \cdot \frac{1}{x}}{x}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{x}}{x} - \frac{\frac{\cos x}{x}}{x}\\

\end{array}
double f(double x) {
        double r19608 = 1.0;
        double r19609 = x;
        double r19610 = cos(r19609);
        double r19611 = r19608 - r19610;
        double r19612 = r19609 * r19609;
        double r19613 = r19611 / r19612;
        return r19613;
}

double f(double x) {
        double r19614 = x;
        double r19615 = -0.03086110959069604;
        bool r19616 = r19614 <= r19615;
        double r19617 = 1.0;
        double r19618 = r19617 / r19614;
        double r19619 = cos(r19614);
        double r19620 = 1.0;
        double r19621 = r19620 / r19614;
        double r19622 = r19619 * r19621;
        double r19623 = r19618 - r19622;
        double r19624 = r19623 / r19614;
        double r19625 = 0.03328058389703145;
        bool r19626 = r19614 <= r19625;
        double r19627 = 0.001388888888888889;
        double r19628 = 4.0;
        double r19629 = pow(r19614, r19628);
        double r19630 = r19627 * r19629;
        double r19631 = 0.5;
        double r19632 = r19630 + r19631;
        double r19633 = 0.041666666666666664;
        double r19634 = 2.0;
        double r19635 = pow(r19614, r19634);
        double r19636 = r19633 * r19635;
        double r19637 = r19632 - r19636;
        double r19638 = r19618 / r19614;
        double r19639 = r19619 / r19614;
        double r19640 = r19639 / r19614;
        double r19641 = r19638 - r19640;
        double r19642 = r19626 ? r19637 : r19641;
        double r19643 = r19616 ? r19624 : r19642;
        return r19643;
}

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

    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 div-sub0.6

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{\cos x}{x}}}{x}\]
    6. Using strategy rm
    7. Applied div-inv0.5

      \[\leadsto \frac{\frac{1}{x} - \color{blue}{\cos x \cdot \frac{1}{x}}}{x}\]

    if -0.03086110959069604 < x < 0.03328058389703145

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

    if 0.03328058389703145 < x

    1. Initial program 0.9

      \[\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 div-sub0.6

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{\cos x}{x}}}{x}\]
    6. Applied div-sub0.6

      \[\leadsto \color{blue}{\frac{\frac{1}{x}}{x} - \frac{\frac{\cos x}{x}}{x}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -0.0308611095906960383739026099192415131256:\\ \;\;\;\;\frac{\frac{1}{x} - \cos x \cdot \frac{1}{x}}{x}\\ \mathbf{elif}\;x \le 0.03328058389703145159010944098554318770766:\\ \;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{x}}{x} - \frac{\frac{\cos x}{x}}{x}\\ \end{array}\]

Reproduce

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