\left(x \cdot 3\right) \cdot x
\left(x \cdot x\right) \cdot 3
(FPCore (x) :precision binary64 (* (* x 3.0) x))
(FPCore (x) :precision binary64 (* (* x x) 3.0))
double code(double x) {
return ((double) (((double) (x * 3.0)) * x));
}
double code(double x) {
return ((double) (((double) (x * x)) * 3.0));
}



Bits error versus x
Results
Initial program Error: 0.2 bits
rmApplied add-sqr-sqrtError: 0.4 bits
SimplifiedError: 0.4 bits
SimplifiedError: 0.4 bits
rmApplied *-un-lft-identityError: 0.4 bits
Applied associate-*r*Error: 0.4 bits
SimplifiedError: 0.3 bits
rmApplied associate-*r*Error: 0.3 bits
rmApplied pow1Error: 0.3 bits
Applied pow1Error: 0.3 bits
Applied pow-prod-downError: 0.3 bits
SimplifiedError: 0.2 bits
Final simplificationError: 0.2 bits
herbie shell --seed 2020205
(FPCore (x)
:name "Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, F"
:precision binary64
(* (* x 3.0) x))