Average Error: 15.3 → 0.4
Time: 28.9s
Precision: 64
\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
\[\left(\sin b \cdot \sin a + \cos a \cdot \cos b\right) \cdot \frac{\frac{r \cdot \sin b}{\sin b \cdot \sin a + \cos a \cdot \cos b}}{\cos a \cdot \cos b - \sin b \cdot \sin a}\]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
\left(\sin b \cdot \sin a + \cos a \cdot \cos b\right) \cdot \frac{\frac{r \cdot \sin b}{\sin b \cdot \sin a + \cos a \cdot \cos b}}{\cos a \cdot \cos b - \sin b \cdot \sin a}
double f(double r, double a, double b) {
        double r1117074 = r;
        double r1117075 = b;
        double r1117076 = sin(r1117075);
        double r1117077 = a;
        double r1117078 = r1117077 + r1117075;
        double r1117079 = cos(r1117078);
        double r1117080 = r1117076 / r1117079;
        double r1117081 = r1117074 * r1117080;
        return r1117081;
}

double f(double r, double a, double b) {
        double r1117082 = b;
        double r1117083 = sin(r1117082);
        double r1117084 = a;
        double r1117085 = sin(r1117084);
        double r1117086 = r1117083 * r1117085;
        double r1117087 = cos(r1117084);
        double r1117088 = cos(r1117082);
        double r1117089 = r1117087 * r1117088;
        double r1117090 = r1117086 + r1117089;
        double r1117091 = r;
        double r1117092 = r1117091 * r1117083;
        double r1117093 = r1117092 / r1117090;
        double r1117094 = r1117089 - r1117086;
        double r1117095 = r1117093 / r1117094;
        double r1117096 = r1117090 * r1117095;
        return r1117096;
}

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

    \[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 associate-*r/0.3

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

    \[\leadsto \frac{r \cdot \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}}}\]
  8. Applied associate-/r/0.5

    \[\leadsto \color{blue}{\frac{r \cdot \sin b}{\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)} \cdot \left(\cos a \cdot \cos b + \sin a \cdot \sin b\right)}\]
  9. Using strategy rm
  10. Applied difference-of-squares0.4

    \[\leadsto \frac{r \cdot \sin b}{\color{blue}{\left(\cos a \cdot \cos b + \sin a \cdot \sin b\right) \cdot \left(\cos a \cdot \cos b - \sin a \cdot \sin b\right)}} \cdot \left(\cos a \cdot \cos b + \sin a \cdot \sin b\right)\]
  11. Applied associate-/r*0.4

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

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

Reproduce

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