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






Bits error versus x






Bits error versus y






Bits error versus z
Results
| Alternative 1 | |
|---|---|
| Error | 29.4 |
| Cost | 6720 |
| Alternative 2 | |
|---|---|
| Error | 61.8 |
| Cost | 64 |
| Alternative 3 | |
|---|---|
| Error | 61.8 |
| Cost | 64 |


Initial program 0.1
rmApplied *-un-lft-identity_binary64_51930.1
rmApplied *-commutative_binary64_51240.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2021040
(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)))))