Average Error: 0.0 → 0.6
Time: 12.5s
Precision: 64
\[\sin x \cdot \frac{\sinh y}{y}\]
\[\sin x \cdot \frac{\mathsf{fma}\left(\frac{1}{6}, {y}^{3}, \mathsf{fma}\left(\frac{1}{120}, {y}^{5}, y\right)\right)}{y}\]
\sin x \cdot \frac{\sinh y}{y}
\sin x \cdot \frac{\mathsf{fma}\left(\frac{1}{6}, {y}^{3}, \mathsf{fma}\left(\frac{1}{120}, {y}^{5}, y\right)\right)}{y}
double f(double x, double y) {
        double r105944 = x;
        double r105945 = sin(r105944);
        double r105946 = y;
        double r105947 = sinh(r105946);
        double r105948 = r105947 / r105946;
        double r105949 = r105945 * r105948;
        return r105949;
}

double f(double x, double y) {
        double r105950 = x;
        double r105951 = sin(r105950);
        double r105952 = 0.16666666666666666;
        double r105953 = y;
        double r105954 = 3.0;
        double r105955 = pow(r105953, r105954);
        double r105956 = 0.008333333333333333;
        double r105957 = 5.0;
        double r105958 = pow(r105953, r105957);
        double r105959 = fma(r105956, r105958, r105953);
        double r105960 = fma(r105952, r105955, r105959);
        double r105961 = r105960 / r105953;
        double r105962 = r105951 * r105961;
        return r105962;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 0.0

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

    \[\leadsto \sin x \cdot \frac{\color{blue}{\frac{1}{6} \cdot {y}^{3} + \left(\frac{1}{120} \cdot {y}^{5} + y\right)}}{y}\]
  3. Simplified0.6

    \[\leadsto \sin x \cdot \frac{\color{blue}{\mathsf{fma}\left(\frac{1}{6}, {y}^{3}, \mathsf{fma}\left(\frac{1}{120}, {y}^{5}, y\right)\right)}}{y}\]
  4. Final simplification0.6

    \[\leadsto \sin x \cdot \frac{\mathsf{fma}\left(\frac{1}{6}, {y}^{3}, \mathsf{fma}\left(\frac{1}{120}, {y}^{5}, y\right)\right)}{y}\]

Reproduce

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