Average Error: 31.7 → 0.5
Time: 4.7s
Precision: 64
\[\frac{1 - \cos x}{x \cdot x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.036038474483329114:\\ \;\;\;\;\frac{\sqrt{\log \left(e^{1 - \cos x}\right)}}{x} \cdot \frac{\sqrt{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(\left(\sqrt[3]{\cos x + 1} \cdot \sqrt[3]{\cos x + 1}\right) \cdot \sqrt[3]{\cos x + 1}\right)\right)}}}{x}\\ \mathbf{elif}\;x \le 0.033100735860822239:\\ \;\;\;\;\mathsf{fma}\left({x}^{4}, \frac{1}{720}, \frac{1}{2} - \frac{1}{24} \cdot {x}^{2}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(1 - \cos x\right) \cdot \frac{1}{x \cdot x}\\ \end{array}\]
\frac{1 - \cos x}{x \cdot x}
\begin{array}{l}
\mathbf{if}\;x \le -0.036038474483329114:\\
\;\;\;\;\frac{\sqrt{\log \left(e^{1 - \cos x}\right)}}{x} \cdot \frac{\sqrt{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(\left(\sqrt[3]{\cos x + 1} \cdot \sqrt[3]{\cos x + 1}\right) \cdot \sqrt[3]{\cos x + 1}\right)\right)}}}{x}\\

\mathbf{elif}\;x \le 0.033100735860822239:\\
\;\;\;\;\mathsf{fma}\left({x}^{4}, \frac{1}{720}, \frac{1}{2} - \frac{1}{24} \cdot {x}^{2}\right)\\

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

\end{array}
double f(double x) {
        double r30163 = 1.0;
        double r30164 = x;
        double r30165 = cos(r30164);
        double r30166 = r30163 - r30165;
        double r30167 = r30164 * r30164;
        double r30168 = r30166 / r30167;
        return r30168;
}

double f(double x) {
        double r30169 = x;
        double r30170 = -0.036038474483329114;
        bool r30171 = r30169 <= r30170;
        double r30172 = 1.0;
        double r30173 = cos(r30169);
        double r30174 = r30172 - r30173;
        double r30175 = exp(r30174);
        double r30176 = log(r30175);
        double r30177 = sqrt(r30176);
        double r30178 = r30177 / r30169;
        double r30179 = 3.0;
        double r30180 = pow(r30172, r30179);
        double r30181 = pow(r30173, r30179);
        double r30182 = r30180 - r30181;
        double r30183 = r30173 + r30172;
        double r30184 = cbrt(r30183);
        double r30185 = r30184 * r30184;
        double r30186 = r30185 * r30184;
        double r30187 = r30173 * r30186;
        double r30188 = fma(r30172, r30172, r30187);
        double r30189 = r30182 / r30188;
        double r30190 = sqrt(r30189);
        double r30191 = r30190 / r30169;
        double r30192 = r30178 * r30191;
        double r30193 = 0.03310073586082224;
        bool r30194 = r30169 <= r30193;
        double r30195 = 4.0;
        double r30196 = pow(r30169, r30195);
        double r30197 = 0.001388888888888889;
        double r30198 = 0.5;
        double r30199 = 0.041666666666666664;
        double r30200 = 2.0;
        double r30201 = pow(r30169, r30200);
        double r30202 = r30199 * r30201;
        double r30203 = r30198 - r30202;
        double r30204 = fma(r30196, r30197, r30203);
        double r30205 = 1.0;
        double r30206 = r30169 * r30169;
        double r30207 = r30205 / r30206;
        double r30208 = r30174 * r30207;
        double r30209 = r30194 ? r30204 : r30208;
        double r30210 = r30171 ? r30192 : r30209;
        return r30210;
}

Error

Bits error versus x

Derivation

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

    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 add-log-exp0.6

      \[\leadsto \frac{\sqrt{1 - \color{blue}{\log \left(e^{\cos x}\right)}}}{x} \cdot \frac{\sqrt{1 - \cos x}}{x}\]
    7. Applied add-log-exp0.6

      \[\leadsto \frac{\sqrt{\color{blue}{\log \left(e^{1}\right)} - \log \left(e^{\cos x}\right)}}{x} \cdot \frac{\sqrt{1 - \cos x}}{x}\]
    8. Applied diff-log0.6

      \[\leadsto \frac{\sqrt{\color{blue}{\log \left(\frac{e^{1}}{e^{\cos x}}\right)}}}{x} \cdot \frac{\sqrt{1 - \cos x}}{x}\]
    9. Simplified0.6

      \[\leadsto \frac{\sqrt{\log \color{blue}{\left(e^{1 - \cos x}\right)}}}{x} \cdot \frac{\sqrt{1 - \cos x}}{x}\]
    10. Using strategy rm
    11. Applied flip3--0.6

      \[\leadsto \frac{\sqrt{\log \left(e^{1 - \cos x}\right)}}{x} \cdot \frac{\sqrt{\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}\]
    12. Simplified0.6

      \[\leadsto \frac{\sqrt{\log \left(e^{1 - \cos x}\right)}}{x} \cdot \frac{\sqrt{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\color{blue}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(\cos x + 1\right)\right)}}}}{x}\]
    13. Using strategy rm
    14. Applied add-cube-cbrt0.6

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

    if -0.036038474483329114 < x < 0.03310073586082224

    1. Initial program 62.2

      \[\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}{\mathsf{fma}\left({x}^{4}, \frac{1}{720}, \frac{1}{2} - \frac{1}{24} \cdot {x}^{2}\right)}\]

    if 0.03310073586082224 < x

    1. Initial program 1.2

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

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

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

Reproduce

herbie shell --seed 2020020 +o rules:numerics
(FPCore (x)
  :name "cos2 (problem 3.4.1)"
  :precision binary64
  (/ (- 1 (cos x)) (* x x)))