Average Error: 0.2 → 0.2
Time: 17.2s
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[\frac{1}{\sin B} - 1 \cdot \frac{x \cdot \cos B}{\sin B}\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
\frac{1}{\sin B} - 1 \cdot \frac{x \cdot \cos B}{\sin B}
double f(double B, double x) {
        double r26934 = x;
        double r26935 = 1.0;
        double r26936 = B;
        double r26937 = tan(r26936);
        double r26938 = r26935 / r26937;
        double r26939 = r26934 * r26938;
        double r26940 = -r26939;
        double r26941 = sin(r26936);
        double r26942 = r26935 / r26941;
        double r26943 = r26940 + r26942;
        return r26943;
}

double f(double B, double x) {
        double r26944 = 1.0;
        double r26945 = B;
        double r26946 = sin(r26945);
        double r26947 = r26944 / r26946;
        double r26948 = x;
        double r26949 = cos(r26945);
        double r26950 = r26948 * r26949;
        double r26951 = r26950 / r26946;
        double r26952 = r26944 * r26951;
        double r26953 = r26947 - r26952;
        return r26953;
}

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} - x \cdot \frac{1}{\tan B}}\]
  3. Taylor expanded around inf 0.2

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

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

Reproduce

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