Average Error: 14.8 → 0.4
Time: 13.3s
Precision: 64
\[\frac{r \cdot \sin b}{\cos \left(a + b\right)}\]
\[r \cdot \frac{\sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left|\sin a \cdot \sin b\right| \cdot \left|\sin a \cdot \sin b\right|}{\cos a \cdot \cos b + \sin a \cdot \sin b}}\]
\frac{r \cdot \sin b}{\cos \left(a + b\right)}
r \cdot \frac{\sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left|\sin a \cdot \sin b\right| \cdot \left|\sin a \cdot \sin b\right|}{\cos a \cdot \cos b + \sin a \cdot \sin b}}
double f(double r, double a, double b) {
        double r20714 = r;
        double r20715 = b;
        double r20716 = sin(r20715);
        double r20717 = r20714 * r20716;
        double r20718 = a;
        double r20719 = r20718 + r20715;
        double r20720 = cos(r20719);
        double r20721 = r20717 / r20720;
        return r20721;
}

double f(double r, double a, double b) {
        double r20722 = r;
        double r20723 = b;
        double r20724 = sin(r20723);
        double r20725 = a;
        double r20726 = cos(r20725);
        double r20727 = cos(r20723);
        double r20728 = r20726 * r20727;
        double r20729 = r20728 * r20728;
        double r20730 = sin(r20725);
        double r20731 = r20730 * r20724;
        double r20732 = fabs(r20731);
        double r20733 = r20732 * r20732;
        double r20734 = r20729 - r20733;
        double r20735 = r20728 + r20731;
        double r20736 = r20734 / r20735;
        double r20737 = r20724 / r20736;
        double r20738 = r20722 * r20737;
        return r20738;
}

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 14.8

    \[\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 *-un-lft-identity0.3

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

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

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

    \[\leadsto r \cdot \frac{\sin b}{\color{blue}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left(\sin a \cdot \sin b\right) \cdot \left(\sin a \cdot \sin b\right)}{\cos a \cdot \cos b + \sin a \cdot \sin b}}}\]
  10. Using strategy rm
  11. Applied add-sqr-sqrt0.4

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

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

    \[\leadsto r \cdot \frac{\sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left|\sin a \cdot \sin b\right| \cdot \color{blue}{\left|\sin a \cdot \sin b\right|}}{\cos a \cdot \cos b + \sin a \cdot \sin b}}\]
  14. Final simplification0.4

    \[\leadsto r \cdot \frac{\sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left|\sin a \cdot \sin b\right| \cdot \left|\sin a \cdot \sin b\right|}{\cos a \cdot \cos b + \sin a \cdot \sin b}}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (r a b)
  :name "r*sin(b)/cos(a+b), A"
  :precision binary64
  (/ (* r (sin b)) (cos (+ a b))))