\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)0.5 \cdot \left(y \cdot \sqrt{z} + x\right)(FPCore (x y z) :precision binary64 (* (/ 1.0 2.0) (+ x (* y (sqrt z)))))
(FPCore (x y z) :precision binary64 (* 0.5 (+ (* y (sqrt z)) x)))
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 * ((y * sqrt(z)) + x);
}






Bits error versus x






Bits error versus y






Bits error versus z
Results
| Alternative 1 | |
|---|---|
| Accuracy | 0.7 |
| Cost | 1344 |
| Alternative 2 | |
|---|---|
| Accuracy | 1.4 |
| Cost | 1856 |
| Alternative 3 | |
|---|---|
| Accuracy | 41.0 |
| Cost | 704 |
Initial program 0.2
Simplified0.2
rmApplied *-un-lft-identity_binary64_72390.2
rmApplied *-un-lft-identity_binary64_72390.2
Applied associate-*l*_binary64_71800.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020322
(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)))))