Average Error: 15.8 → 0.3
Time: 51.8s
Precision: 64
\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
\[r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}\]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}
double f(double r, double a, double b) {
        double r679968 = r;
        double r679969 = b;
        double r679970 = sin(r679969);
        double r679971 = a;
        double r679972 = r679971 + r679969;
        double r679973 = cos(r679972);
        double r679974 = r679970 / r679973;
        double r679975 = r679968 * r679974;
        return r679975;
}

double f(double r, double a, double b) {
        double r679976 = r;
        double r679977 = b;
        double r679978 = sin(r679977);
        double r679979 = a;
        double r679980 = cos(r679979);
        double r679981 = cos(r679977);
        double r679982 = r679980 * r679981;
        double r679983 = sin(r679979);
        double r679984 = r679983 * r679978;
        double r679985 = r679982 - r679984;
        double r679986 = r679978 / r679985;
        double r679987 = r679976 * r679986;
        return r679987;
}

Error

Bits error versus r

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.8

    \[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
  2. Using strategy rm
  3. Applied cos-sum0.3

    \[\leadsto r \cdot \frac{\sin b}{\color{blue}{\cos a \cdot \cos b - \sin a \cdot \sin b}}\]
  4. Taylor expanded around -inf 0.3

    \[\leadsto r \cdot \color{blue}{\frac{\sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}}\]
  5. Final simplification0.3

    \[\leadsto r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}\]

Reproduce

herbie shell --seed 2019143 +o rules:numerics
(FPCore (r a b)
  :name "r*sin(b)/cos(a+b), B"
  (* r (/ (sin b) (cos (+ a b)))))