Average Error: 0.2 → 0.2
Time: 18.8s
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[\frac{1 - \left(\cos B \cdot x\right) \cdot 1}{\sin B}\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
\frac{1 - \left(\cos B \cdot x\right) \cdot 1}{\sin B}
double f(double B, double x) {
        double r902264 = x;
        double r902265 = 1.0;
        double r902266 = B;
        double r902267 = tan(r902266);
        double r902268 = r902265 / r902267;
        double r902269 = r902264 * r902268;
        double r902270 = -r902269;
        double r902271 = sin(r902266);
        double r902272 = r902265 / r902271;
        double r902273 = r902270 + r902272;
        return r902273;
}

double f(double B, double x) {
        double r902274 = 1.0;
        double r902275 = B;
        double r902276 = cos(r902275);
        double r902277 = x;
        double r902278 = r902276 * r902277;
        double r902279 = r902278 * r902274;
        double r902280 = r902274 - r902279;
        double r902281 = sin(r902275);
        double r902282 = r902280 / r902281;
        return r902282;
}

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 \cdot 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. Using strategy rm
  5. Applied associate-*r/0.2

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{1 \cdot \left(x \cdot \cos B\right)}{\sin B}}\]
  6. Applied sub-div0.2

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

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

Reproduce

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