Average Error: 0.0 → 0.7
Time: 5.4s
Precision: binary64
\[\sin x \cdot \frac{\sinh y}{y} \]
\[\sin x + 0.16666666666666666 \cdot \left(\sin x \cdot {y}^{2}\right) \]
\sin x \cdot \frac{\sinh y}{y}
\sin x + 0.16666666666666666 \cdot \left(\sin x \cdot {y}^{2}\right)
(FPCore (x y) :precision binary64 (* (sin x) (/ (sinh y) y)))
(FPCore (x y)
 :precision binary64
 (+ (sin x) (* 0.16666666666666666 (* (sin x) (pow y 2.0)))))
double code(double x, double y) {
	return sin(x) * (sinh(y) / y);
}
double code(double x, double y) {
	return sin(x) + (0.16666666666666666 * (sin(x) * pow(y, 2.0)));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\sin x \cdot \frac{\sinh y}{y} \]
  2. Taylor expanded in y around 0 0.7

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

    \[\leadsto \sin x + 0.16666666666666666 \cdot \left(\sin x \cdot {y}^{2}\right) \]

Reproduce

herbie shell --seed 2022076 
(FPCore (x y)
  :name "Linear.Quaternion:$ccos from linear-1.19.1.3"
  :precision binary64
  (* (sin x) (/ (sinh y) y)))