Average Error: 0.1 → 0.3
Time: 15.1s
Precision: 64
\[\cosh x \cdot \frac{\sin y}{y}\]
\[\sin y \cdot \frac{\cosh x}{y}\]
\cosh x \cdot \frac{\sin y}{y}
\sin y \cdot \frac{\cosh x}{y}
double f(double x, double y) {
        double r512502 = x;
        double r512503 = cosh(r512502);
        double r512504 = y;
        double r512505 = sin(r512504);
        double r512506 = r512505 / r512504;
        double r512507 = r512503 * r512506;
        return r512507;
}

double f(double x, double y) {
        double r512508 = y;
        double r512509 = sin(r512508);
        double r512510 = x;
        double r512511 = cosh(r512510);
        double r512512 = r512511 / r512508;
        double r512513 = r512509 * r512512;
        return r512513;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.1
Target0.1
Herbie0.3
\[\frac{\cosh x \cdot \sin y}{y}\]

Derivation

  1. Initial program 0.1

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

    \[\leadsto \color{blue}{\frac{\sin y \cdot \cosh x}{y}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.1

    \[\leadsto \frac{\sin y \cdot \cosh x}{\color{blue}{1 \cdot y}}\]
  5. Applied times-frac0.3

    \[\leadsto \color{blue}{\frac{\sin y}{1} \cdot \frac{\cosh x}{y}}\]
  6. Simplified0.3

    \[\leadsto \color{blue}{\sin y} \cdot \frac{\cosh x}{y}\]
  7. Final simplification0.3

    \[\leadsto \sin y \cdot \frac{\cosh x}{y}\]

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y)
  :name "Linear.Quaternion:$csinh from linear-1.19.1.3"

  :herbie-target
  (/ (* (cosh x) (sin y)) y)

  (* (cosh x) (/ (sin y) y)))