Average Error: 15.1 → 0.4
Time: 34.2s
Precision: 64
\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}\]
\[r \cdot \left(\frac{\sin b}{\frac{\cos a \cdot \cos b - \sin a \cdot \sin b}{\cos a \cdot \cos b + \sin a \cdot \sin b}} \cdot \frac{1}{\cos a \cdot \cos b + \sin a \cdot \sin b}\right)\]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
r \cdot \left(\frac{\sin b}{\frac{\cos a \cdot \cos b - \sin a \cdot \sin b}{\cos a \cdot \cos b + \sin a \cdot \sin b}} \cdot \frac{1}{\cos a \cdot \cos b + \sin a \cdot \sin b}\right)
double f(double r, double a, double b) {
        double r932567 = r;
        double r932568 = b;
        double r932569 = sin(r932568);
        double r932570 = a;
        double r932571 = r932570 + r932568;
        double r932572 = cos(r932571);
        double r932573 = r932569 / r932572;
        double r932574 = r932567 * r932573;
        return r932574;
}

double f(double r, double a, double b) {
        double r932575 = r;
        double r932576 = b;
        double r932577 = sin(r932576);
        double r932578 = a;
        double r932579 = cos(r932578);
        double r932580 = cos(r932576);
        double r932581 = r932579 * r932580;
        double r932582 = sin(r932578);
        double r932583 = r932582 * r932577;
        double r932584 = r932581 - r932583;
        double r932585 = r932581 + r932583;
        double r932586 = r932584 / r932585;
        double r932587 = r932577 / r932586;
        double r932588 = 1.0;
        double r932589 = r932588 / r932585;
        double r932590 = r932587 * r932589;
        double r932591 = r932575 * r932590;
        return r932591;
}

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

    \[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 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}}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity0.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)}{\color{blue}{1 \cdot \left(\cos a \cdot \cos b + \sin a \cdot \sin b\right)}}}\]
  8. Applied difference-of-squares0.3

    \[\leadsto r \cdot \frac{\sin b}{\frac{\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)}}{1 \cdot \left(\cos a \cdot \cos b + \sin a \cdot \sin b\right)}}\]
  9. Applied times-frac0.3

    \[\leadsto r \cdot \frac{\sin b}{\color{blue}{\frac{\cos a \cdot \cos b + \sin a \cdot \sin b}{1} \cdot \frac{\cos a \cdot \cos b - \sin a \cdot \sin b}{\cos a \cdot \cos b + \sin a \cdot \sin b}}}\]
  10. Applied *-un-lft-identity0.3

    \[\leadsto r \cdot \frac{\color{blue}{1 \cdot \sin b}}{\frac{\cos a \cdot \cos b + \sin a \cdot \sin b}{1} \cdot \frac{\cos a \cdot \cos b - \sin a \cdot \sin b}{\cos a \cdot \cos b + \sin a \cdot \sin b}}\]
  11. Applied times-frac0.4

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

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

Reproduce

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