\cosh x \cdot \frac{\sin y}{y}
0.5 \cdot \frac{\sin y \cdot \left(e^{x} + \frac{1}{e^{x}}\right)}{y}
(FPCore (x y) :precision binary64 (* (cosh x) (/ (sin y) y)))
(FPCore (x y) :precision binary64 (* 0.5 (/ (* (sin y) (+ (exp x) (/ 1.0 (exp x)))) y)))
double code(double x, double y) {
return cosh(x) * (sin(y) / y);
}
double code(double x, double y) {
return 0.5 * ((sin(y) * (exp(x) + (1.0 / exp(x)))) / y);
}




Bits error versus x




Bits error versus y
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Taylor expanded in x around inf 0.1
Final simplification0.1
herbie shell --seed 2022068
(FPCore (x y)
:name "Linear.Quaternion:$csinh from linear-1.19.1.3"
:precision binary64
:herbie-target
(/ (* (cosh x) (sin y)) y)
(* (cosh x) (/ (sin y) y)))