\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}\frac{1}{\left|\left(x \cdot s\right) \cdot c\right|} \cdot \left(\frac{1}{\sqrt{\left|\left(x \cdot s\right) \cdot c\right|}} \cdot \frac{\cos \left(x \cdot 2\right)}{\sqrt{\sqrt{\left|\left(x \cdot s\right) \cdot c\right|}} \cdot \sqrt{\sqrt{\left|\left(x \cdot s\right) \cdot c\right|}}}\right)(FPCore (x c s) :precision binary64 (/ (cos (* 2.0 x)) (* (pow c 2.0) (* (* x (pow s 2.0)) x))))
(FPCore (x c s)
:precision binary64
(*
(/ 1.0 (fabs (* (* x s) c)))
(*
(/ 1.0 (sqrt (fabs (* (* x s) c))))
(/
(cos (* x 2.0))
(*
(sqrt (sqrt (fabs (* (* x s) c))))
(sqrt (sqrt (fabs (* (* x s) c)))))))))double code(double x, double c, double s) {
return cos(2.0 * x) / (pow(c, 2.0) * ((x * pow(s, 2.0)) * x));
}
double code(double x, double c, double s) {
return (1.0 / fabs((x * s) * c)) * ((1.0 / sqrt(fabs((x * s) * c))) * (cos(x * 2.0) / (sqrt(sqrt(fabs((x * s) * c))) * sqrt(sqrt(fabs((x * s) * c))))));
}



Bits error versus x



Bits error versus c



Bits error versus s
Results
Initial program 28.8
rmApplied add-sqr-sqrt_binary6428.8
Simplified28.8
Simplified3.0
rmApplied *-un-lft-identity_binary643.0
Applied times-frac_binary642.7
Simplified2.7
rmApplied add-sqr-sqrt_binary642.8
Applied *-un-lft-identity_binary642.8
Applied times-frac_binary642.8
rmApplied add-sqr-sqrt_binary642.8
Final simplification2.8
herbie shell --seed 2020268
(FPCore (x c s)
:name "mixedcos"
:precision binary64
(/ (cos (* 2.0 x)) (* (pow c 2.0) (* (* x (pow s 2.0)) x))))