x \cdot \cos y + z \cdot \sin y
x \cdot \cos y + z \cdot \sin y
double f(double x, double y, double z) {
double r152943 = x;
double r152944 = y;
double r152945 = cos(r152944);
double r152946 = r152943 * r152945;
double r152947 = z;
double r152948 = sin(r152944);
double r152949 = r152947 * r152948;
double r152950 = r152946 + r152949;
return r152950;
}
double f(double x, double y, double z) {
double r152951 = x;
double r152952 = y;
double r152953 = cos(r152952);
double r152954 = r152951 * r152953;
double r152955 = z;
double r152956 = sin(r152952);
double r152957 = r152955 * r152956;
double r152958 = r152954 + r152957;
return r152958;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019208
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))