Average Error: 0.0 → 0.0
Time: 35.4s
Precision: 64
\[\cos x \cdot \frac{\sinh y}{y}\]
\[\frac{\cos x}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{y}{\sinh y}\right)\right)}\]
\cos x \cdot \frac{\sinh y}{y}
\frac{\cos x}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{y}{\sinh y}\right)\right)}
double f(double x, double y) {
        double r6271969 = x;
        double r6271970 = cos(r6271969);
        double r6271971 = y;
        double r6271972 = sinh(r6271971);
        double r6271973 = r6271972 / r6271971;
        double r6271974 = r6271970 * r6271973;
        return r6271974;
}

double f(double x, double y) {
        double r6271975 = x;
        double r6271976 = cos(r6271975);
        double r6271977 = y;
        double r6271978 = sinh(r6271977);
        double r6271979 = r6271977 / r6271978;
        double r6271980 = log1p(r6271979);
        double r6271981 = expm1(r6271980);
        double r6271982 = r6271976 / r6271981;
        return r6271982;
}

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

    \[\cos x \cdot \frac{\sinh y}{y}\]
  2. Taylor expanded around inf 59.3

    \[\leadsto \color{blue}{\frac{\frac{1}{2} \cdot \left(\cos x \cdot e^{y}\right) - \frac{1}{2} \cdot \left(\cos x \cdot e^{-y}\right)}{y}}\]
  3. Simplified0.0

    \[\leadsto \color{blue}{\frac{\cos x}{\frac{y}{\sinh y}}}\]
  4. Using strategy rm
  5. Applied expm1-log1p-u0.0

    \[\leadsto \frac{\cos x}{\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{y}{\sinh y}\right)\right)}}\]
  6. Final simplification0.0

    \[\leadsto \frac{\cos x}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{y}{\sinh y}\right)\right)}\]

Reproduce

herbie shell --seed 2019168 +o rules:numerics
(FPCore (x y)
  :name "Linear.Quaternion:$csin from linear-1.19.1.3"
  (* (cos x) (/ (sinh y) y)))