\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + z \cdot \cos y
double f(double x, double y, double z) {
double r180263 = x;
double r180264 = y;
double r180265 = sin(r180264);
double r180266 = r180263 + r180265;
double r180267 = z;
double r180268 = cos(r180264);
double r180269 = r180267 * r180268;
double r180270 = r180266 + r180269;
return r180270;
}
double f(double x, double y, double z) {
double r180271 = x;
double r180272 = y;
double r180273 = sin(r180272);
double r180274 = r180271 + r180273;
double r180275 = z;
double r180276 = cos(r180272);
double r180277 = r180275 * r180276;
double r180278 = r180274 + r180277;
return r180278;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.3
Applied associate-*r*0.3
rmApplied pow1/316.1
Applied pow1/316.1
Applied pow-prod-down0.1
Simplified0.1
rmApplied expm1-log1p-u0.1
Taylor expanded around inf 0.1
Final simplification0.1
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, C"
:precision binary64
(+ (+ x (sin y)) (* z (cos y))))