Average Error: 15.1 → 0.4
Time: 24.2s
Precision: 64
\[\frac{r \cdot \sin b}{\cos \left(a + b\right)}\]
\[\frac{1}{\frac{\cos a \cdot \cos b}{\sin b} - \sin a} \cdot r\]
\frac{r \cdot \sin b}{\cos \left(a + b\right)}
\frac{1}{\frac{\cos a \cdot \cos b}{\sin b} - \sin a} \cdot r
double f(double r, double a, double b) {
        double r909765 = r;
        double r909766 = b;
        double r909767 = sin(r909766);
        double r909768 = r909765 * r909767;
        double r909769 = a;
        double r909770 = r909769 + r909766;
        double r909771 = cos(r909770);
        double r909772 = r909768 / r909771;
        return r909772;
}

double f(double r, double a, double b) {
        double r909773 = 1.0;
        double r909774 = a;
        double r909775 = cos(r909774);
        double r909776 = b;
        double r909777 = cos(r909776);
        double r909778 = r909775 * r909777;
        double r909779 = sin(r909776);
        double r909780 = r909778 / r909779;
        double r909781 = sin(r909774);
        double r909782 = r909780 - r909781;
        double r909783 = r909773 / r909782;
        double r909784 = r;
        double r909785 = r909783 * r909784;
        return r909785;
}

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.1

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

    \[\leadsto \frac{r \cdot \sin b}{\color{blue}{\cos a \cdot \cos b - \sin a \cdot \sin b}}\]
  4. Using strategy rm
  5. Applied fma-neg0.3

    \[\leadsto \frac{r \cdot \sin b}{\color{blue}{\mathsf{fma}\left(\cos a, \cos b, -\sin a \cdot \sin b\right)}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity0.3

    \[\leadsto \frac{r \cdot \sin b}{\color{blue}{1 \cdot \mathsf{fma}\left(\cos a, \cos b, -\sin a \cdot \sin b\right)}}\]
  8. Applied times-frac0.3

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

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

    \[\leadsto r \cdot \color{blue}{\frac{\sin b}{\cos a \cdot \cos b - \sin b \cdot \sin a}}\]
  11. Using strategy rm
  12. Applied clear-num0.4

    \[\leadsto r \cdot \color{blue}{\frac{1}{\frac{\cos a \cdot \cos b - \sin b \cdot \sin a}{\sin b}}}\]
  13. Simplified0.4

    \[\leadsto r \cdot \frac{1}{\color{blue}{\frac{\cos a \cdot \cos b}{\sin b} - \sin a}}\]
  14. Final simplification0.4

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

Reproduce

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