Average Error: 14.7 → 0.4
Time: 25.0s
Precision: 64
\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
\[\frac{r}{\mathsf{fma}\left(\frac{\cos b}{\sin b}, \cos a, -\sin a\right)}\]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
\frac{r}{\mathsf{fma}\left(\frac{\cos b}{\sin b}, \cos a, -\sin a\right)}
double f(double r, double a, double b) {
        double r25434 = r;
        double r25435 = b;
        double r25436 = sin(r25435);
        double r25437 = a;
        double r25438 = r25437 + r25435;
        double r25439 = cos(r25438);
        double r25440 = r25436 / r25439;
        double r25441 = r25434 * r25440;
        return r25441;
}

double f(double r, double a, double b) {
        double r25442 = r;
        double r25443 = b;
        double r25444 = cos(r25443);
        double r25445 = sin(r25443);
        double r25446 = r25444 / r25445;
        double r25447 = a;
        double r25448 = cos(r25447);
        double r25449 = sin(r25447);
        double r25450 = -r25449;
        double r25451 = fma(r25446, r25448, r25450);
        double r25452 = r25442 / r25451;
        return r25452;
}

Error

Bits error versus r

Bits error versus a

Bits error versus b

Derivation

  1. Initial program 14.7

    \[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 \color{blue}{\frac{r \cdot \sin b}{\cos b \cdot \cos a - \sin a \cdot \sin b}}\]
  5. Simplified0.4

    \[\leadsto \color{blue}{\frac{r}{\frac{\cos a \cdot \cos b}{\sin b} - \sin a}}\]
  6. Using strategy rm
  7. Applied add-cube-cbrt0.5

    \[\leadsto \frac{r}{\frac{\cos a \cdot \cos b}{\sin b} - \color{blue}{\left(\sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}\right) \cdot \sqrt[3]{\sin a}}}\]
  8. Applied add-sqr-sqrt32.4

    \[\leadsto \frac{r}{\color{blue}{\sqrt{\frac{\cos a \cdot \cos b}{\sin b}} \cdot \sqrt{\frac{\cos a \cdot \cos b}{\sin b}}} - \left(\sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}\right) \cdot \sqrt[3]{\sin a}}\]
  9. Applied prod-diff32.4

    \[\leadsto \frac{r}{\color{blue}{\mathsf{fma}\left(\sqrt{\frac{\cos a \cdot \cos b}{\sin b}}, \sqrt{\frac{\cos a \cdot \cos b}{\sin b}}, -\sqrt[3]{\sin a} \cdot \left(\sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{\sin a}, \sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}, \sqrt[3]{\sin a} \cdot \left(\sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}\right)\right)}}\]
  10. Simplified0.4

    \[\leadsto \frac{r}{\color{blue}{\mathsf{fma}\left(\frac{\cos b}{\sin b}, \cos a, -\sin a\right)} + \mathsf{fma}\left(-\sqrt[3]{\sin a}, \sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}, \sqrt[3]{\sin a} \cdot \left(\sqrt[3]{\sin a} \cdot \sqrt[3]{\sin a}\right)\right)}\]
  11. Simplified0.4

    \[\leadsto \frac{r}{\mathsf{fma}\left(\frac{\cos b}{\sin b}, \cos a, -\sin a\right) + \color{blue}{0}}\]
  12. Final simplification0.4

    \[\leadsto \frac{r}{\mathsf{fma}\left(\frac{\cos b}{\sin b}, \cos a, -\sin a\right)}\]

Reproduce

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