Average Error: 13.2 → 10.4
Time: 45.0s
Precision: 64
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(-\frac{1}{2}\right)}\]
\[\left(\frac{1}{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(\frac{1}{2}\right)}} \cdot F\right) \cdot \frac{1}{\sin B} - \cos B \cdot \frac{x}{\sin B}\]
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(-\frac{1}{2}\right)}
\left(\frac{1}{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(\frac{1}{2}\right)}} \cdot F\right) \cdot \frac{1}{\sin B} - \cos B \cdot \frac{x}{\sin B}
double f(double F, double B, double x) {
        double r1456159 = x;
        double r1456160 = 1.0;
        double r1456161 = B;
        double r1456162 = tan(r1456161);
        double r1456163 = r1456160 / r1456162;
        double r1456164 = r1456159 * r1456163;
        double r1456165 = -r1456164;
        double r1456166 = F;
        double r1456167 = sin(r1456161);
        double r1456168 = r1456166 / r1456167;
        double r1456169 = r1456166 * r1456166;
        double r1456170 = 2.0;
        double r1456171 = r1456169 + r1456170;
        double r1456172 = r1456170 * r1456159;
        double r1456173 = r1456171 + r1456172;
        double r1456174 = r1456160 / r1456170;
        double r1456175 = -r1456174;
        double r1456176 = pow(r1456173, r1456175);
        double r1456177 = r1456168 * r1456176;
        double r1456178 = r1456165 + r1456177;
        return r1456178;
}

double f(double F, double B, double x) {
        double r1456179 = 1.0;
        double r1456180 = 2.0;
        double r1456181 = x;
        double r1456182 = F;
        double r1456183 = fma(r1456182, r1456182, r1456180);
        double r1456184 = fma(r1456180, r1456181, r1456183);
        double r1456185 = r1456179 / r1456180;
        double r1456186 = pow(r1456184, r1456185);
        double r1456187 = r1456179 / r1456186;
        double r1456188 = r1456187 * r1456182;
        double r1456189 = B;
        double r1456190 = sin(r1456189);
        double r1456191 = r1456179 / r1456190;
        double r1456192 = r1456188 * r1456191;
        double r1456193 = cos(r1456189);
        double r1456194 = r1456181 / r1456190;
        double r1456195 = r1456193 * r1456194;
        double r1456196 = r1456192 - r1456195;
        return r1456196;
}

Error

Bits error versus F

Bits error versus B

Bits error versus x

Derivation

  1. Initial program 13.2

    \[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(-\frac{1}{2}\right)}\]
  2. Simplified12.8

    \[\leadsto \color{blue}{\frac{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)}}{\frac{\sin B}{F}} - \frac{x}{\tan B}}\]
  3. Using strategy rm
  4. Applied div-inv12.8

    \[\leadsto \frac{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)}}{\color{blue}{\sin B \cdot \frac{1}{F}}} - \frac{x}{\tan B}\]
  5. Applied *-un-lft-identity12.8

    \[\leadsto \frac{{\color{blue}{\left(1 \cdot \mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}}^{\left(-\frac{1}{2}\right)}}{\sin B \cdot \frac{1}{F}} - \frac{x}{\tan B}\]
  6. Applied unpow-prod-down12.8

    \[\leadsto \frac{\color{blue}{{1}^{\left(-\frac{1}{2}\right)} \cdot {\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)}}}{\sin B \cdot \frac{1}{F}} - \frac{x}{\tan B}\]
  7. Applied times-frac10.3

    \[\leadsto \color{blue}{\frac{{1}^{\left(-\frac{1}{2}\right)}}{\sin B} \cdot \frac{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)}}{\frac{1}{F}}} - \frac{x}{\tan B}\]
  8. Simplified10.3

    \[\leadsto \color{blue}{\frac{1}{\sin B}} \cdot \frac{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)}}{\frac{1}{F}} - \frac{x}{\tan B}\]
  9. Simplified10.3

    \[\leadsto \frac{1}{\sin B} \cdot \color{blue}{\left({\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)} \cdot F\right)} - \frac{x}{\tan B}\]
  10. Using strategy rm
  11. Applied pow-neg10.3

    \[\leadsto \frac{1}{\sin B} \cdot \left(\color{blue}{\frac{1}{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(\frac{1}{2}\right)}}} \cdot F\right) - \frac{x}{\tan B}\]
  12. Using strategy rm
  13. Applied tan-quot10.4

    \[\leadsto \frac{1}{\sin B} \cdot \left(\frac{1}{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(\frac{1}{2}\right)}} \cdot F\right) - \frac{x}{\color{blue}{\frac{\sin B}{\cos B}}}\]
  14. Applied associate-/r/10.4

    \[\leadsto \frac{1}{\sin B} \cdot \left(\frac{1}{{\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(\frac{1}{2}\right)}} \cdot F\right) - \color{blue}{\frac{x}{\sin B} \cdot \cos B}\]
  15. Final simplification10.4

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

Reproduce

herbie shell --seed 2019134 +o rules:numerics
(FPCore (F B x)
  :name "VandenBroeck and Keller, Equation (23)"
  (+ (- (* x (/ 1 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2) (* 2 x)) (- (/ 1 2))))))