x \cdot \frac{\sin y}{y}x \cdot \frac{\frac{1}{y}}{\frac{1}{\sin y}}(FPCore (x y) :precision binary64 (* x (/ (sin y) y)))
(FPCore (x y) :precision binary64 (* x (/ (/ 1.0 y) (/ 1.0 (sin y)))))
double code(double x, double y) {
return x * (sin(y) / y);
}
double code(double x, double y) {
return x * ((1.0 / y) / (1.0 / sin(y)));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.1
rmApplied *-un-lft-identity_binary64_18580.1
Applied associate-/l*_binary64_19220.2
rmApplied div-inv_binary64_18590.3
Applied associate-/r*_binary64_19210.2
Final simplification0.2
herbie shell --seed 2020231
(FPCore (x y)
:name "Linear.Quaternion:$cexp from linear-1.19.1.3"
:precision binary64
(* x (/ (sin y) y)))