\frac{\sin x \cdot \sinh y}{x}\sinh y \cdot \frac{\sin x}{x}double f(double x, double y) {
double r446321 = x;
double r446322 = sin(r446321);
double r446323 = y;
double r446324 = sinh(r446323);
double r446325 = r446322 * r446324;
double r446326 = r446325 / r446321;
return r446326;
}
double f(double x, double y) {
double r446327 = y;
double r446328 = sinh(r446327);
double r446329 = x;
double r446330 = sin(r446329);
double r446331 = r446330 / r446329;
double r446332 = r446328 * r446331;
return r446332;
}




Bits error versus x




Bits error versus y
Results
| Original | 14.6 |
|---|---|
| Target | 0.2 |
| Herbie | 0.1 |
Initial program 14.6
rmApplied associate-/l*0.8
rmApplied *-un-lft-identity0.8
Applied *-un-lft-identity0.8
Applied times-frac0.8
Applied *-un-lft-identity0.8
Applied times-frac0.8
Simplified0.8
Simplified0.1
Final simplification0.1
herbie shell --seed 2020047 +o rules:numerics
(FPCore (x y)
:name "Linear.Quaternion:$ccosh from linear-1.19.1.3"
:precision binary64
:herbie-target
(* (sin x) (/ (sinh y) x))
(/ (* (sin x) (sinh y)) x))