Average Error: 14.9 → 0.4
Time: 7.0s
Precision: 64
\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
\[\left(r \cdot \sin b\right) \cdot \frac{1}{\cos a \cdot \cos b - \sin a \cdot \sin b}\]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
\left(r \cdot \sin b\right) \cdot \frac{1}{\cos a \cdot \cos b - \sin a \cdot \sin b}
double f(double r, double a, double b) {
        double r17578 = r;
        double r17579 = b;
        double r17580 = sin(r17579);
        double r17581 = a;
        double r17582 = r17581 + r17579;
        double r17583 = cos(r17582);
        double r17584 = r17580 / r17583;
        double r17585 = r17578 * r17584;
        return r17585;
}

double f(double r, double a, double b) {
        double r17586 = r;
        double r17587 = b;
        double r17588 = sin(r17587);
        double r17589 = r17586 * r17588;
        double r17590 = 1.0;
        double r17591 = a;
        double r17592 = cos(r17591);
        double r17593 = cos(r17587);
        double r17594 = r17592 * r17593;
        double r17595 = sin(r17591);
        double r17596 = r17595 * r17588;
        double r17597 = r17594 - r17596;
        double r17598 = r17590 / r17597;
        double r17599 = r17589 * r17598;
        return r17599;
}

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

    \[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. Using strategy rm
  5. Applied pow10.3

    \[\leadsto r \cdot \frac{\sin b}{\color{blue}{{\left(\cos a \cdot \cos b - \sin a \cdot \sin b\right)}^{1}}}\]
  6. Using strategy rm
  7. Applied pow10.3

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

    \[\leadsto \color{blue}{{r}^{1}} \cdot {\left(\frac{\sin b}{{\left(\cos a \cdot \cos b - \sin a \cdot \sin b\right)}^{1}}\right)}^{1}\]
  9. Applied pow-prod-down0.3

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

    \[\leadsto {\color{blue}{\left(\frac{r \cdot \sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}\right)}}^{1}\]
  11. Using strategy rm
  12. Applied div-inv0.4

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

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

Reproduce

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