Average Error: 31.1 → 0.2
Time: 1.5m
Precision: 64
\[\frac{1 - \cos x}{x \cdot x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.03315829856655696378231468202102405484766:\\ \;\;\;\;\frac{1}{x} \cdot \frac{\frac{\left(\left(1 \cdot 1\right) \cdot 1 - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(x \cdot 2\right) \cdot \frac{1}{2}\right)}{1 \cdot 1 + \left(\cos x \cdot \cos x + \cos x \cdot 1\right)}}{x}\\ \mathbf{elif}\;x \le 0.02695851314962413244891159536109626060352:\\ \;\;\;\;\left(\frac{1}{720} \cdot \left(x \cdot x\right) - \frac{1}{24}\right) \cdot \left(x \cdot x\right) + \frac{1}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{x} \cdot \frac{\frac{\left(\left(1 \cdot 1\right) \cdot 1 - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(x \cdot 2\right) \cdot \frac{1}{2}\right)}{1 \cdot 1 + \left(\cos x \cdot \cos x + \cos x \cdot 1\right)}}{x}\\ \end{array}\]
\frac{1 - \cos x}{x \cdot x}
\begin{array}{l}
\mathbf{if}\;x \le -0.03315829856655696378231468202102405484766:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{\left(\left(1 \cdot 1\right) \cdot 1 - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(x \cdot 2\right) \cdot \frac{1}{2}\right)}{1 \cdot 1 + \left(\cos x \cdot \cos x + \cos x \cdot 1\right)}}{x}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{\left(\left(1 \cdot 1\right) \cdot 1 - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(x \cdot 2\right) \cdot \frac{1}{2}\right)}{1 \cdot 1 + \left(\cos x \cdot \cos x + \cos x \cdot 1\right)}}{x}\\

\end{array}
double f(double x) {
        double r733168 = 1.0;
        double r733169 = x;
        double r733170 = cos(r733169);
        double r733171 = r733168 - r733170;
        double r733172 = r733169 * r733169;
        double r733173 = r733171 / r733172;
        return r733173;
}

double f(double x) {
        double r733174 = x;
        double r733175 = -0.033158298566556964;
        bool r733176 = r733174 <= r733175;
        double r733177 = 1.0;
        double r733178 = r733177 / r733174;
        double r733179 = 1.0;
        double r733180 = r733179 * r733179;
        double r733181 = r733180 * r733179;
        double r733182 = cos(r733174);
        double r733183 = 0.5;
        double r733184 = r733182 * r733183;
        double r733185 = r733181 - r733184;
        double r733186 = 2.0;
        double r733187 = r733174 * r733186;
        double r733188 = cos(r733187);
        double r733189 = r733188 * r733183;
        double r733190 = r733182 * r733189;
        double r733191 = r733185 - r733190;
        double r733192 = r733182 * r733182;
        double r733193 = r733182 * r733179;
        double r733194 = r733192 + r733193;
        double r733195 = r733180 + r733194;
        double r733196 = r733191 / r733195;
        double r733197 = r733196 / r733174;
        double r733198 = r733178 * r733197;
        double r733199 = 0.026958513149624132;
        bool r733200 = r733174 <= r733199;
        double r733201 = 0.001388888888888889;
        double r733202 = r733174 * r733174;
        double r733203 = r733201 * r733202;
        double r733204 = 0.041666666666666664;
        double r733205 = r733203 - r733204;
        double r733206 = r733205 * r733202;
        double r733207 = r733206 + r733183;
        double r733208 = r733200 ? r733207 : r733198;
        double r733209 = r733176 ? r733198 : r733208;
        return r733209;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < -0.033158298566556964 or 0.026958513149624132 < x

    1. Initial program 1.0

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

      \[\leadsto \frac{\color{blue}{\sqrt{1 - \cos x} \cdot \sqrt{1 - \cos x}}}{x \cdot x}\]
    4. Applied times-frac0.6

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

      \[\leadsto \frac{\sqrt{1 - \cos x}}{x} \cdot \color{blue}{\left(\sqrt{1 - \cos x} \cdot \frac{1}{x}\right)}\]
    7. Applied associate-*r*0.6

      \[\leadsto \color{blue}{\left(\frac{\sqrt{1 - \cos x}}{x} \cdot \sqrt{1 - \cos x}\right) \cdot \frac{1}{x}}\]
    8. Simplified0.5

      \[\leadsto \color{blue}{\frac{1 - \cos x}{x}} \cdot \frac{1}{x}\]
    9. Using strategy rm
    10. Applied flip3--0.5

      \[\leadsto \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} \cdot \frac{1}{x}\]
    11. Simplified0.5

      \[\leadsto \frac{\frac{\color{blue}{1 \cdot \left(1 \cdot 1\right) - \cos x \cdot \left(\cos x \cdot \cos x\right)}}{1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)}}{x} \cdot \frac{1}{x}\]
    12. Using strategy rm
    13. Applied sqr-cos0.5

      \[\leadsto \frac{\frac{1 \cdot \left(1 \cdot 1\right) - \cos x \cdot \color{blue}{\left(\frac{1}{2} + \frac{1}{2} \cdot \cos \left(2 \cdot x\right)\right)}}{1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)}}{x} \cdot \frac{1}{x}\]
    14. Applied distribute-rgt-in0.5

      \[\leadsto \frac{\frac{1 \cdot \left(1 \cdot 1\right) - \color{blue}{\left(\frac{1}{2} \cdot \cos x + \left(\frac{1}{2} \cdot \cos \left(2 \cdot x\right)\right) \cdot \cos x\right)}}{1 \cdot 1 + \left(\cos x \cdot \cos x + 1 \cdot \cos x\right)}}{x} \cdot \frac{1}{x}\]
    15. Applied associate--r+0.5

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

    if -0.033158298566556964 < x < 0.026958513149624132

    1. Initial program 62.3

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

      \[\leadsto \frac{\color{blue}{\sqrt{1 - \cos x} \cdot \sqrt{1 - \cos x}}}{x \cdot x}\]
    4. Applied times-frac61.3

      \[\leadsto \color{blue}{\frac{\sqrt{1 - \cos x}}{x} \cdot \frac{\sqrt{1 - \cos x}}{x}}\]
    5. 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}}\]
    6. Simplified0.0

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

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

Reproduce

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