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

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{{\left({1}^{3}\right)}^{3} - {\left({\left(\cos x\right)}^{3}\right)}^{3}}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(1 + \cos x\right)\right) \cdot \left(\mathsf{fma}\left({\left(\cos x\right)}^{3}, {1}^{3}, {\left(\cos x\right)}^{6}\right) + {1}^{6}\right)}}{x}\\

\end{array}
double f(double x) {
        double r21250 = 1.0;
        double r21251 = x;
        double r21252 = cos(r21251);
        double r21253 = r21250 - r21252;
        double r21254 = r21251 * r21251;
        double r21255 = r21253 / r21254;
        return r21255;
}

double f(double x) {
        double r21256 = x;
        double r21257 = -0.030204237643336285;
        bool r21258 = r21256 <= r21257;
        double r21259 = 1.0;
        double r21260 = r21259 / r21256;
        double r21261 = 1.0;
        double r21262 = 3.0;
        double r21263 = pow(r21261, r21262);
        double r21264 = cos(r21256);
        double r21265 = pow(r21264, r21262);
        double r21266 = exp(r21265);
        double r21267 = log(r21266);
        double r21268 = r21263 - r21267;
        double r21269 = r21263 + r21265;
        double r21270 = r21264 - r21261;
        double r21271 = r21264 * r21270;
        double r21272 = fma(r21261, r21261, r21271);
        double r21273 = r21269 / r21272;
        double r21274 = r21264 * r21273;
        double r21275 = fma(r21261, r21261, r21274);
        double r21276 = r21268 / r21275;
        double r21277 = r21276 / r21256;
        double r21278 = r21260 * r21277;
        double r21279 = 0.031416007424221945;
        bool r21280 = r21256 <= r21279;
        double r21281 = -0.041666666666666664;
        double r21282 = r21256 * r21256;
        double r21283 = 0.001388888888888889;
        double r21284 = 4.0;
        double r21285 = pow(r21256, r21284);
        double r21286 = 0.5;
        double r21287 = fma(r21283, r21285, r21286);
        double r21288 = fma(r21281, r21282, r21287);
        double r21289 = pow(r21263, r21262);
        double r21290 = pow(r21265, r21262);
        double r21291 = r21289 - r21290;
        double r21292 = r21261 + r21264;
        double r21293 = r21264 * r21292;
        double r21294 = fma(r21261, r21261, r21293);
        double r21295 = 6.0;
        double r21296 = pow(r21264, r21295);
        double r21297 = fma(r21265, r21263, r21296);
        double r21298 = pow(r21261, r21295);
        double r21299 = r21297 + r21298;
        double r21300 = r21294 * r21299;
        double r21301 = r21291 / r21300;
        double r21302 = r21301 / r21256;
        double r21303 = r21260 * r21302;
        double r21304 = r21280 ? r21288 : r21303;
        double r21305 = r21258 ? r21278 : r21304;
        return r21305;
}

Error

Bits error versus x

Derivation

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

    1. Initial program 1.1

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

      \[\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.5

      \[\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. Simplified0.5

      \[\leadsto \frac{1}{x} \cdot \frac{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\color{blue}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(1 + \cos x\right)\right)}}}{x}\]
    8. Using strategy rm
    9. Applied add-log-exp0.5

      \[\leadsto \frac{1}{x} \cdot \frac{\frac{{1}^{3} - \color{blue}{\log \left(e^{{\left(\cos x\right)}^{3}}\right)}}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(1 + \cos x\right)\right)}}{x}\]
    10. Using strategy rm
    11. Applied flip3-+0.5

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

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

    if -0.030204237643336285 < x < 0.031416007424221945

    1. Initial program 62.2

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

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

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

    if 0.031416007424221945 < x

    1. Initial program 1.2

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

      \[\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.5

      \[\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. Simplified0.5

      \[\leadsto \frac{1}{x} \cdot \frac{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\color{blue}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(1 + \cos x\right)\right)}}}{x}\]
    8. Using strategy rm
    9. Applied flip3--0.5

      \[\leadsto \frac{1}{x} \cdot \frac{\frac{\color{blue}{\frac{{\left({1}^{3}\right)}^{3} - {\left({\left(\cos x\right)}^{3}\right)}^{3}}{{1}^{3} \cdot {1}^{3} + \left({\left(\cos x\right)}^{3} \cdot {\left(\cos x\right)}^{3} + {1}^{3} \cdot {\left(\cos x\right)}^{3}\right)}}}{\mathsf{fma}\left(1, 1, \cos x \cdot \left(1 + \cos x\right)\right)}}{x}\]
    10. Applied associate-/l/0.5

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

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

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

Reproduce

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