\frac{1.0 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.027773708198225854:\\
\;\;\;\;\frac{\frac{\left(1.0 \cdot \left(1.0 \cdot 1.0\right) - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(2 \cdot x\right) \cdot \frac{1}{2}\right)}{\left(\cos x \cdot 1.0 + \cos x \cdot \cos x\right) + 1.0 \cdot 1.0}}{x} \cdot \frac{1}{x}\\
\mathbf{elif}\;x \le 0.031731941663915054:\\
\;\;\;\;\left(\left(x \cdot x\right) \cdot \frac{1}{720} - \frac{1}{24}\right) \cdot \left(x \cdot x\right) + \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1.0 - \cos x}{x} \cdot \frac{1}{x}\\
\end{array}double f(double x) {
double r741651 = 1.0;
double r741652 = x;
double r741653 = cos(r741652);
double r741654 = r741651 - r741653;
double r741655 = r741652 * r741652;
double r741656 = r741654 / r741655;
return r741656;
}
double f(double x) {
double r741657 = x;
double r741658 = -0.027773708198225854;
bool r741659 = r741657 <= r741658;
double r741660 = 1.0;
double r741661 = r741660 * r741660;
double r741662 = r741660 * r741661;
double r741663 = cos(r741657);
double r741664 = 0.5;
double r741665 = r741663 * r741664;
double r741666 = r741662 - r741665;
double r741667 = 2.0;
double r741668 = r741667 * r741657;
double r741669 = cos(r741668);
double r741670 = r741669 * r741664;
double r741671 = r741663 * r741670;
double r741672 = r741666 - r741671;
double r741673 = r741663 * r741660;
double r741674 = r741663 * r741663;
double r741675 = r741673 + r741674;
double r741676 = r741675 + r741661;
double r741677 = r741672 / r741676;
double r741678 = r741677 / r741657;
double r741679 = 1.0;
double r741680 = r741679 / r741657;
double r741681 = r741678 * r741680;
double r741682 = 0.031731941663915054;
bool r741683 = r741657 <= r741682;
double r741684 = r741657 * r741657;
double r741685 = 0.001388888888888889;
double r741686 = r741684 * r741685;
double r741687 = 0.041666666666666664;
double r741688 = r741686 - r741687;
double r741689 = r741688 * r741684;
double r741690 = r741689 + r741664;
double r741691 = r741660 - r741663;
double r741692 = r741691 / r741657;
double r741693 = r741692 * r741680;
double r741694 = r741683 ? r741690 : r741693;
double r741695 = r741659 ? r741681 : r741694;
return r741695;
}



Bits error versus x
Results
if x < -0.027773708198225854Initial program 1.1
rmApplied *-un-lft-identity1.1
Applied times-frac0.5
rmApplied flip3--0.6
Simplified0.5
rmApplied sqr-cos0.5
Applied distribute-rgt-in0.5
Applied associate--r+0.5
if -0.027773708198225854 < x < 0.031731941663915054Initial program 62.2
Taylor expanded around 0 0.0
Simplified0.0
if 0.031731941663915054 < x Initial program 1.0
rmApplied *-un-lft-identity1.0
Applied times-frac0.4
Final simplification0.3
herbie shell --seed 2019165
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1.0 (cos x)) (* x x)))