Average Error: 0.2 → 0.2
Time: 17.6s
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[\frac{-\cos B}{\frac{\sin B}{x}} \cdot 1 + \frac{1}{\sin B}\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
\frac{-\cos B}{\frac{\sin B}{x}} \cdot 1 + \frac{1}{\sin B}
double f(double B, double x) {
        double r23310 = x;
        double r23311 = 1.0;
        double r23312 = B;
        double r23313 = tan(r23312);
        double r23314 = r23311 / r23313;
        double r23315 = r23310 * r23314;
        double r23316 = -r23315;
        double r23317 = sin(r23312);
        double r23318 = r23311 / r23317;
        double r23319 = r23316 + r23318;
        return r23319;
}

double f(double B, double x) {
        double r23320 = B;
        double r23321 = cos(r23320);
        double r23322 = -r23321;
        double r23323 = sin(r23320);
        double r23324 = x;
        double r23325 = r23323 / r23324;
        double r23326 = r23322 / r23325;
        double r23327 = 1.0;
        double r23328 = r23326 * r23327;
        double r23329 = r23327 / r23323;
        double r23330 = r23328 + r23329;
        return r23330;
}

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. Using strategy rm
  3. Applied associate-*r/0.1

    \[\leadsto \left(-\color{blue}{\frac{x \cdot 1}{\tan B}}\right) + \frac{1}{\sin B}\]
  4. Taylor expanded around inf 0.2

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

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

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

Reproduce

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