\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(x \cdot 2\right)}{\left(cos \cdot sin\right) \cdot x} \cdot \frac{1}{\left(\left(cos \cdot sin\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right) \cdot \sqrt[3]{x}}double f(double x, double cos, double sin) {
double r1620035 = 2.0;
double r1620036 = x;
double r1620037 = r1620035 * r1620036;
double r1620038 = cos(r1620037);
double r1620039 = cos;
double r1620040 = pow(r1620039, r1620035);
double r1620041 = sin;
double r1620042 = pow(r1620041, r1620035);
double r1620043 = r1620036 * r1620042;
double r1620044 = r1620043 * r1620036;
double r1620045 = r1620040 * r1620044;
double r1620046 = r1620038 / r1620045;
return r1620046;
}
double f(double x, double cos, double sin) {
double r1620047 = x;
double r1620048 = 2.0;
double r1620049 = r1620047 * r1620048;
double r1620050 = cos(r1620049);
double r1620051 = cos;
double r1620052 = sin;
double r1620053 = r1620051 * r1620052;
double r1620054 = r1620053 * r1620047;
double r1620055 = r1620050 / r1620054;
double r1620056 = 1.0;
double r1620057 = cbrt(r1620047);
double r1620058 = r1620057 * r1620057;
double r1620059 = r1620053 * r1620058;
double r1620060 = r1620059 * r1620057;
double r1620061 = r1620056 / r1620060;
double r1620062 = r1620055 * r1620061;
return r1620062;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.0
Simplified2.8
rmApplied *-un-lft-identity2.8
Applied times-frac2.5
rmApplied add-cube-cbrt2.8
Applied associate-*r*2.8
Final simplification2.8
herbie shell --seed 2019132 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))