\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)0.5 \cdot x + y \cdot \left(0.5 \cdot \sqrt{z}\right)(FPCore (x y z) :precision binary64 (* (/ 1.0 2.0) (+ x (* y (sqrt z)))))
(FPCore (x y z) :precision binary64 (+ (* 0.5 x) (* y (* 0.5 (sqrt z)))))
double code(double x, double y, double z) {
return (1.0 / 2.0) * (x + (y * sqrt(z)));
}
double code(double x, double y, double z) {
return (0.5 * x) + (y * (0.5 * sqrt(z)));
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt_binary64_65790.3
Applied associate-*r*_binary64_64970.3
rmApplied pow1/2_binary64_66370.3
Applied sqrt-pow1_binary64_65750.3
Simplified0.3
rmApplied pow1/2_binary64_66370.3
Applied sqrt-pow1_binary64_65750.3
Simplified0.3
rmApplied distribute-rgt-in_binary64_65070.3
Simplified0.3
Simplified0.1
Final simplification0.1
herbie shell --seed 2020355
(FPCore (x y z)
:name "Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, B"
:precision binary64
(* (/ 1.0 2.0) (+ x (* y (sqrt z)))))