Average Error: 14.1 → 0.7
Time: 4.6s
Precision: binary64
\[\frac{\sin x \cdot \sinh y}{x}\]
\[\sin x \cdot \frac{y + \left(0.16666666666666666 \cdot {y}^{3} + 0.008333333333333333 \cdot {y}^{5}\right)}{x}\]
\frac{\sin x \cdot \sinh y}{x}
\sin x \cdot \frac{y + \left(0.16666666666666666 \cdot {y}^{3} + 0.008333333333333333 \cdot {y}^{5}\right)}{x}
(FPCore (x y) :precision binary64 (/ (* (sin x) (sinh y)) x))
(FPCore (x y)
 :precision binary64
 (*
  (sin x)
  (/
   (+
    y
    (+
     (* 0.16666666666666666 (pow y 3.0))
     (* 0.008333333333333333 (pow y 5.0))))
   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) sin(x)) * (((double) (y + ((double) (((double) (0.16666666666666666 * ((double) pow(y, 3.0)))) + ((double) (0.008333333333333333 * ((double) pow(y, 5.0)))))))) / x)));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original14.1
Target0.2
Herbie0.7
\[\sin x \cdot \frac{\sinh y}{x}\]

Derivation

  1. Initial program 14.1

    \[\frac{\sin x \cdot \sinh y}{x}\]
  2. Simplified0.2

    \[\leadsto \color{blue}{\sin x \cdot \frac{\sinh y}{x}}\]
  3. Taylor expanded around 0 0.7

    \[\leadsto \sin x \cdot \frac{\color{blue}{0.16666666666666666 \cdot {y}^{3} + \left(0.008333333333333333 \cdot {y}^{5} + y\right)}}{x}\]
  4. Simplified0.7

    \[\leadsto \sin x \cdot \frac{\color{blue}{y + \left(0.16666666666666666 \cdot {y}^{3} + 0.008333333333333333 \cdot {y}^{5}\right)}}{x}\]
  5. Final simplification0.7

    \[\leadsto \sin x \cdot \frac{y + \left(0.16666666666666666 \cdot {y}^{3} + 0.008333333333333333 \cdot {y}^{5}\right)}{x}\]

Reproduce

herbie shell --seed 2020198 
(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))