Average Error: 0.2 → 0.2
Time: 17.4s
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[\frac{1}{\sin B} - \frac{1}{\sin B} \cdot \left(x \cdot \cos B\right)\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
\frac{1}{\sin B} - \frac{1}{\sin B} \cdot \left(x \cdot \cos B\right)
double f(double B, double x) {
        double r54705 = x;
        double r54706 = 1.0;
        double r54707 = B;
        double r54708 = tan(r54707);
        double r54709 = r54706 / r54708;
        double r54710 = r54705 * r54709;
        double r54711 = -r54710;
        double r54712 = sin(r54707);
        double r54713 = r54706 / r54712;
        double r54714 = r54711 + r54713;
        return r54714;
}

double f(double B, double x) {
        double r54715 = 1.0;
        double r54716 = B;
        double r54717 = sin(r54716);
        double r54718 = r54715 / r54717;
        double r54719 = x;
        double r54720 = cos(r54716);
        double r54721 = r54719 * r54720;
        double r54722 = r54718 * r54721;
        double r54723 = r54718 - r54722;
        return r54723;
}

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{1}{\tan B} \cdot x}\]
  3. Using strategy rm
  4. Applied tan-quot0.2

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

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\left(\frac{1}{\sin B} \cdot \cos B\right)} \cdot x\]
  6. Applied associate-*l*0.2

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{1}{\sin B} \cdot \left(\cos B \cdot x\right)}\]
  7. Simplified0.2

    \[\leadsto \frac{1}{\sin B} - \frac{1}{\sin B} \cdot \color{blue}{\left(x \cdot \cos B\right)}\]
  8. Final simplification0.2

    \[\leadsto \frac{1}{\sin B} - \frac{1}{\sin B} \cdot \left(x \cdot \cos B\right)\]

Reproduce

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