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




Bits error versus x




Bits error versus y
Results
| Original | 13.9 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program Error: 13.9 bits
SimplifiedError: 0.2 bits
rmApplied div-invError: 0.3 bits
Taylor expanded around inf Error: 43.3 bits
SimplifiedError: 0.1 bits
rmApplied clear-numError: 0.1 bits
rmApplied div-invError: 0.2 bits
Final simplificationError: 0.2 bits
herbie shell --seed 2020203
(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))