Average Error: 0.2 → 0.6
Time: 5.7s
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[1 \cdot \left(\frac{1}{\sin B} - \frac{\left(\sqrt[3]{x \cdot \cos B} \cdot \sqrt[3]{x \cdot \cos B}\right) \cdot \sqrt[3]{x \cdot \cos B}}{\sin B}\right)\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
1 \cdot \left(\frac{1}{\sin B} - \frac{\left(\sqrt[3]{x \cdot \cos B} \cdot \sqrt[3]{x \cdot \cos B}\right) \cdot \sqrt[3]{x \cdot \cos B}}{\sin B}\right)
double f(double B, double x) {
        double r10725 = x;
        double r10726 = 1.0;
        double r10727 = B;
        double r10728 = tan(r10727);
        double r10729 = r10726 / r10728;
        double r10730 = r10725 * r10729;
        double r10731 = -r10730;
        double r10732 = sin(r10727);
        double r10733 = r10726 / r10732;
        double r10734 = r10731 + r10733;
        return r10734;
}

double f(double B, double x) {
        double r10735 = 1.0;
        double r10736 = 1.0;
        double r10737 = B;
        double r10738 = sin(r10737);
        double r10739 = r10736 / r10738;
        double r10740 = x;
        double r10741 = cos(r10737);
        double r10742 = r10740 * r10741;
        double r10743 = cbrt(r10742);
        double r10744 = r10743 * r10743;
        double r10745 = r10744 * r10743;
        double r10746 = r10745 / r10738;
        double r10747 = r10739 - r10746;
        double r10748 = r10735 * r10747;
        return r10748;
}

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}{\mathsf{fma}\left(-x, \frac{1}{\tan B}, \frac{1}{\sin B}\right)}\]
  3. Taylor expanded around inf 0.2

    \[\leadsto \mathsf{fma}\left(-x, \color{blue}{1 \cdot \frac{\cos B}{\sin B}}, \frac{1}{\sin B}\right)\]
  4. Using strategy rm
  5. Applied div-inv0.2

    \[\leadsto \mathsf{fma}\left(-x, 1 \cdot \color{blue}{\left(\cos B \cdot \frac{1}{\sin B}\right)}, \frac{1}{\sin B}\right)\]
  6. Taylor expanded around inf 0.2

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

    \[\leadsto \color{blue}{1 \cdot \left(\frac{1}{\sin B} - \frac{x \cdot \cos B}{\sin B}\right)}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt0.6

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

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

Reproduce

herbie shell --seed 2019356 +o rules:numerics
(FPCore (B x)
  :name "VandenBroeck and Keller, Equation (24)"
  :precision binary64
  (+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))