Average Error: 0.2 → 0.2
Time: 1.0m
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[\frac{1}{\sin B} - \frac{x}{\sin B} \cdot \cos B\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
\frac{1}{\sin B} - \frac{x}{\sin B} \cdot \cos B
double f(double B, double x) {
        double r1260871 = x;
        double r1260872 = 1.0;
        double r1260873 = B;
        double r1260874 = tan(r1260873);
        double r1260875 = r1260872 / r1260874;
        double r1260876 = r1260871 * r1260875;
        double r1260877 = -r1260876;
        double r1260878 = sin(r1260873);
        double r1260879 = r1260872 / r1260878;
        double r1260880 = r1260877 + r1260879;
        return r1260880;
}

double f(double B, double x) {
        double r1260881 = 1.0;
        double r1260882 = B;
        double r1260883 = sin(r1260882);
        double r1260884 = r1260881 / r1260883;
        double r1260885 = x;
        double r1260886 = r1260885 / r1260883;
        double r1260887 = cos(r1260882);
        double r1260888 = r1260886 * r1260887;
        double r1260889 = r1260884 - r1260888;
        return r1260889;
}

Error

Bits error versus B

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
  2. Simplified0.2

    \[\leadsto \color{blue}{\frac{1}{\sin B} - \frac{x}{\tan B}}\]
  3. Using strategy rm
  4. Applied tan-quot0.2

    \[\leadsto \frac{1}{\sin B} - \frac{x}{\color{blue}{\frac{\sin B}{\cos B}}}\]
  5. Applied associate-/r/0.2

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{x}{\sin B} \cdot \cos B}\]
  6. Final simplification0.2

    \[\leadsto \frac{1}{\sin B} - \frac{x}{\sin B} \cdot \cos B\]

Reproduce

herbie shell --seed 2019142 
(FPCore (B x)
  :name "VandenBroeck and Keller, Equation (24)"
  (+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))