Average Error: 14.2 → 0.4
Time: 19.3s
Precision: 64
\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
\[\frac{r \cdot \sin b}{\frac{\left(\left(\cos a \cdot \cos a\right) \cdot \cos a\right) \cdot \left(\left(\cos b \cdot \cos b\right) \cdot \cos b\right) - {\left(\sin b \cdot \sin a\right)}^{3}}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}\]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
\frac{r \cdot \sin b}{\frac{\left(\left(\cos a \cdot \cos a\right) \cdot \cos a\right) \cdot \left(\left(\cos b \cdot \cos b\right) \cdot \cos b\right) - {\left(\sin b \cdot \sin a\right)}^{3}}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}
double f(double r, double a, double b) {
        double r28902 = r;
        double r28903 = b;
        double r28904 = sin(r28903);
        double r28905 = a;
        double r28906 = r28905 + r28903;
        double r28907 = cos(r28906);
        double r28908 = r28904 / r28907;
        double r28909 = r28902 * r28908;
        return r28909;
}

double f(double r, double a, double b) {
        double r28910 = r;
        double r28911 = b;
        double r28912 = sin(r28911);
        double r28913 = r28910 * r28912;
        double r28914 = a;
        double r28915 = cos(r28914);
        double r28916 = r28915 * r28915;
        double r28917 = r28916 * r28915;
        double r28918 = cos(r28911);
        double r28919 = r28918 * r28918;
        double r28920 = r28919 * r28918;
        double r28921 = r28917 * r28920;
        double r28922 = sin(r28914);
        double r28923 = r28912 * r28922;
        double r28924 = 3.0;
        double r28925 = pow(r28923, r28924);
        double r28926 = r28921 - r28925;
        double r28927 = r28915 * r28918;
        double r28928 = fma(r28915, r28918, r28923);
        double r28929 = r28923 * r28928;
        double r28930 = fma(r28927, r28927, r28929);
        double r28931 = r28926 / r28930;
        double r28932 = r28913 / r28931;
        return r28932;
}

Error

Bits error versus r

Bits error versus a

Bits error versus b

Derivation

  1. Initial program 14.2

    \[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. Simplified0.3

    \[\leadsto r \cdot \frac{\sin b}{\cos a \cdot \cos b - \color{blue}{\sin b \cdot \sin a}}\]
  5. Using strategy rm
  6. Applied associate-*r/0.3

    \[\leadsto \color{blue}{\frac{r \cdot \sin b}{\cos a \cdot \cos b - \sin b \cdot \sin a}}\]
  7. Using strategy rm
  8. Applied flip3--0.4

    \[\leadsto \frac{r \cdot \sin b}{\color{blue}{\frac{{\left(\cos a \cdot \cos b\right)}^{3} - {\left(\sin b \cdot \sin a\right)}^{3}}{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) + \left(\left(\sin b \cdot \sin a\right) \cdot \left(\sin b \cdot \sin a\right) + \left(\cos a \cdot \cos b\right) \cdot \left(\sin b \cdot \sin a\right)\right)}}}\]
  9. Simplified0.4

    \[\leadsto \frac{r \cdot \sin b}{\frac{{\left(\cos a \cdot \cos b\right)}^{3} - {\left(\sin b \cdot \sin a\right)}^{3}}{\color{blue}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}}\]
  10. Using strategy rm
  11. Applied add-cbrt-cube0.7

    \[\leadsto \frac{r \cdot \sin b}{\frac{{\left(\cos a \cdot \color{blue}{\sqrt[3]{\left(\cos b \cdot \cos b\right) \cdot \cos b}}\right)}^{3} - {\left(\sin b \cdot \sin a\right)}^{3}}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}\]
  12. Applied add-cbrt-cube0.9

    \[\leadsto \frac{r \cdot \sin b}{\frac{{\left(\color{blue}{\sqrt[3]{\left(\cos a \cdot \cos a\right) \cdot \cos a}} \cdot \sqrt[3]{\left(\cos b \cdot \cos b\right) \cdot \cos b}\right)}^{3} - {\left(\sin b \cdot \sin a\right)}^{3}}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}\]
  13. Applied cbrt-unprod0.9

    \[\leadsto \frac{r \cdot \sin b}{\frac{{\color{blue}{\left(\sqrt[3]{\left(\left(\cos a \cdot \cos a\right) \cdot \cos a\right) \cdot \left(\left(\cos b \cdot \cos b\right) \cdot \cos b\right)}\right)}}^{3} - {\left(\sin b \cdot \sin a\right)}^{3}}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}\]
  14. Applied rem-cube-cbrt0.4

    \[\leadsto \frac{r \cdot \sin b}{\frac{\color{blue}{\left(\left(\cos a \cdot \cos a\right) \cdot \cos a\right) \cdot \left(\left(\cos b \cdot \cos b\right) \cdot \cos b\right)} - {\left(\sin b \cdot \sin a\right)}^{3}}{\mathsf{fma}\left(\cos a \cdot \cos b, \cos a \cdot \cos b, \left(\sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)\right)}}\]
  15. Final simplification0.4

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

Reproduce

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