\left(x \cdot 3\right) \cdot x
\left({\left(\sqrt{\sqrt{\left(x \cdot 3\right) \cdot x}}\right)}^{\frac{3}{2}} \cdot \sqrt{\left(x \cdot 3\right) \cdot x}\right) \cdot \sqrt{\sqrt{\sqrt{\left(x \cdot 3\right) \cdot x}}}double f(double x) {
double r212632 = x;
double r212633 = 3.0;
double r212634 = r212632 * r212633;
double r212635 = r212634 * r212632;
return r212635;
}
double f(double x) {
double r212636 = x;
double r212637 = 3.0;
double r212638 = r212636 * r212637;
double r212639 = r212638 * r212636;
double r212640 = sqrt(r212639);
double r212641 = sqrt(r212640);
double r212642 = 1.5;
double r212643 = pow(r212641, r212642);
double r212644 = r212643 * r212640;
double r212645 = sqrt(r212641);
double r212646 = r212644 * r212645;
return r212646;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.4
rmApplied add-sqr-sqrt0.5
Applied associate-*r*0.5
Simplified0.7
rmApplied add-sqr-sqrt0.7
Applied sqrt-prod0.7
Applied associate-*r*0.7
Simplified0.5
Final simplification0.5
herbie shell --seed 2020021 +o rules:numerics
(FPCore (x)
:name "Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, F"
:precision binary64
(* (* x 3) x))