Average Error: 0.0 → 0.6
Time: 7.8s
Precision: 64
\[\left(\left(\sinh c\right) \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)\]
\[\left(\left(\mathsf{fma}\left(\frac{1}{6}, {c}^{3}, \mathsf{fma}\left(\frac{1}{120}, {c}^{5}, c\right)\right)\right) \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)\]
\left(\left(\sinh c\right) \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)
\left(\left(\mathsf{fma}\left(\frac{1}{6}, {c}^{3}, \mathsf{fma}\left(\frac{1}{120}, {c}^{5}, c\right)\right)\right) \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)
double f(double c) {
        double r15403 = c;
        double r15404 = sinh(r15403);
        double r15405 = -2.9807307601812193e+165;
        double r15406 = 2.0;
        double r15407 = pow(r15405, r15406);
        double r15408 = r15403 - r15407;
        double r15409 = fmod(r15404, r15408);
        return r15409;
}

double f(double c) {
        double r15410 = 0.16666666666666666;
        double r15411 = c;
        double r15412 = 3.0;
        double r15413 = pow(r15411, r15412);
        double r15414 = 0.008333333333333333;
        double r15415 = 5.0;
        double r15416 = pow(r15411, r15415);
        double r15417 = fma(r15414, r15416, r15411);
        double r15418 = fma(r15410, r15413, r15417);
        double r15419 = -2.9807307601812193e+165;
        double r15420 = 2.0;
        double r15421 = pow(r15419, r15420);
        double r15422 = r15411 - r15421;
        double r15423 = fmod(r15418, r15422);
        return r15423;
}

Error

Bits error versus c

Derivation

  1. Initial program 0.0

    \[\left(\left(\sinh c\right) \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)\]
  2. Taylor expanded around 0 0.6

    \[\leadsto \left(\color{blue}{\left(\frac{1}{6} \cdot {c}^{3} + \left(\frac{1}{120} \cdot {c}^{5} + c\right)\right)} \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)\]
  3. Simplified0.6

    \[\leadsto \left(\color{blue}{\left(\mathsf{fma}\left(\frac{1}{6}, {c}^{3}, \mathsf{fma}\left(\frac{1}{120}, {c}^{5}, c\right)\right)\right)} \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)\]
  4. Final simplification0.6

    \[\leadsto \left(\left(\mathsf{fma}\left(\frac{1}{6}, {c}^{3}, \mathsf{fma}\left(\frac{1}{120}, {c}^{5}, c\right)\right)\right) \bmod \left(c - {\left( -2.98073076018121927 \cdot 10^{165} \right)}^{2}\right)\right)\]

Reproduce

herbie shell --seed 2020046 +o rules:numerics
(FPCore (c)
  :name "Random Jason Timeout Test 002"
  :precision binary64
  (fmod (sinh c) (- c (pow -2.9807307601812193e+165 2))))