Average Error: 0.2 → 0.2
Time: 6.9m
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[\mathsf{fma}\left(\left(-\frac{\cos B}{\sin B}\right), x, \left(\frac{1}{\sin B}\right)\right)\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}
\mathsf{fma}\left(\left(-\frac{\cos B}{\sin B}\right), x, \left(\frac{1}{\sin B}\right)\right)
double f(double B, double x) {
        double r9316496 = x;
        double r9316497 = 1.0;
        double r9316498 = B;
        double r9316499 = tan(r9316498);
        double r9316500 = r9316497 / r9316499;
        double r9316501 = r9316496 * r9316500;
        double r9316502 = -r9316501;
        double r9316503 = sin(r9316498);
        double r9316504 = r9316497 / r9316503;
        double r9316505 = r9316502 + r9316504;
        return r9316505;
}

double f(double B, double x) {
        double r9316506 = B;
        double r9316507 = cos(r9316506);
        double r9316508 = sin(r9316506);
        double r9316509 = r9316507 / r9316508;
        double r9316510 = -r9316509;
        double r9316511 = x;
        double r9316512 = 1.0;
        double r9316513 = r9316512 / r9316508;
        double r9316514 = fma(r9316510, r9316511, r9316513);
        return r9316514;
}

Error

Bits error versus B

Bits error versus x

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}{\tan B}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.2

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

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{1}{\frac{\tan B}{x}}}\]
  6. Using strategy rm
  7. Applied add-cube-cbrt0.7

    \[\leadsto \frac{1}{\sin B} - \frac{1}{\color{blue}{\left(\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}\right) \cdot \sqrt[3]{\frac{\tan B}{x}}}}\]
  8. Applied add-cube-cbrt0.7

    \[\leadsto \frac{1}{\sin B} - \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\left(\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}\right) \cdot \sqrt[3]{\frac{\tan B}{x}}}\]
  9. Applied times-frac0.7

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}}}\]
  10. Applied add-sqr-sqrt32.1

    \[\leadsto \frac{1}{\color{blue}{\sqrt{\sin B} \cdot \sqrt{\sin B}}} - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}}\]
  11. Applied *-un-lft-identity32.1

    \[\leadsto \frac{\color{blue}{1 \cdot 1}}{\sqrt{\sin B} \cdot \sqrt{\sin B}} - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}}\]
  12. Applied times-frac32.2

    \[\leadsto \color{blue}{\frac{1}{\sqrt{\sin B}} \cdot \frac{1}{\sqrt{\sin B}}} - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}}\]
  13. Applied prod-diff32.2

    \[\leadsto \color{blue}{\mathsf{fma}\left(\left(\frac{1}{\sqrt{\sin B}}\right), \left(\frac{1}{\sqrt{\sin B}}\right), \left(-\frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}}\right)\right) + \mathsf{fma}\left(\left(-\frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}}\right), \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}}\right), \left(\frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}}\right)\right)}\]
  14. Simplified0.2

    \[\leadsto \color{blue}{\mathsf{fma}\left(\left(\frac{-1}{\tan B}\right), x, \left(\frac{1}{\sin B}\right)\right)} + \mathsf{fma}\left(\left(-\frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}}\right), \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}}\right), \left(\frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}}} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{\frac{\tan B}{x}} \cdot \sqrt[3]{\frac{\tan B}{x}}}\right)\right)\]
  15. Simplified0.2

    \[\leadsto \mathsf{fma}\left(\left(\frac{-1}{\tan B}\right), x, \left(\frac{1}{\sin B}\right)\right) + \color{blue}{0}\]
  16. Taylor expanded around -inf 0.2

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

    \[\leadsto \mathsf{fma}\left(\color{blue}{\left(-\frac{\cos B}{\sin B}\right)}, x, \left(\frac{1}{\sin B}\right)\right) + 0\]
  18. Final simplification0.2

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

Reproduce

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