Average Error: 13.5 → 10.8
Time: 59.1s
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)}\]
\[\frac{1}{\sin B} \cdot \left({\left(2 \cdot x + \left(F \cdot F + 2\right)\right)}^{\frac{-1}{2}} \cdot F\right) - \frac{x}{\tan 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)}
\frac{1}{\sin B} \cdot \left({\left(2 \cdot x + \left(F \cdot F + 2\right)\right)}^{\frac{-1}{2}} \cdot F\right) - \frac{x}{\tan B}
double f(double F, double B, double x) {
        double r1245078 = x;
        double r1245079 = 1.0;
        double r1245080 = B;
        double r1245081 = tan(r1245080);
        double r1245082 = r1245079 / r1245081;
        double r1245083 = r1245078 * r1245082;
        double r1245084 = -r1245083;
        double r1245085 = F;
        double r1245086 = sin(r1245080);
        double r1245087 = r1245085 / r1245086;
        double r1245088 = r1245085 * r1245085;
        double r1245089 = 2.0;
        double r1245090 = r1245088 + r1245089;
        double r1245091 = r1245089 * r1245078;
        double r1245092 = r1245090 + r1245091;
        double r1245093 = r1245079 / r1245089;
        double r1245094 = -r1245093;
        double r1245095 = pow(r1245092, r1245094);
        double r1245096 = r1245087 * r1245095;
        double r1245097 = r1245084 + r1245096;
        return r1245097;
}

double f(double F, double B, double x) {
        double r1245098 = 1.0;
        double r1245099 = B;
        double r1245100 = sin(r1245099);
        double r1245101 = r1245098 / r1245100;
        double r1245102 = 2.0;
        double r1245103 = x;
        double r1245104 = r1245102 * r1245103;
        double r1245105 = F;
        double r1245106 = r1245105 * r1245105;
        double r1245107 = r1245106 + r1245102;
        double r1245108 = r1245104 + r1245107;
        double r1245109 = -0.5;
        double r1245110 = pow(r1245108, r1245109);
        double r1245111 = r1245110 * r1245105;
        double r1245112 = r1245101 * r1245111;
        double r1245113 = tan(r1245099);
        double r1245114 = r1245103 / r1245113;
        double r1245115 = r1245112 - r1245114;
        return r1245115;
}

Error

Bits error versus F

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 13.5

    \[\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. Simplified13.1

    \[\leadsto \color{blue}{\frac{{\left(\left(2 \cdot x + F \cdot F\right) + 2\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x}{\tan B}}\]
  3. Using strategy rm
  4. Applied div-inv13.1

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

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

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

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

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

    \[\leadsto \frac{1}{\sin B} \cdot \color{blue}{\left({\left(2 \cdot x + \left(2 + F \cdot F\right)\right)}^{\frac{-1}{2}} \cdot F\right)} - \frac{x}{\tan B}\]
  10. Final simplification10.8

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

Reproduce

herbie shell --seed 2019144 
(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))))))