Average Error: 13.5 → 0.2
Time: 42.2s
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)}\]
\[\begin{array}{l} \mathbf{if}\;F \le -8575.24190677927:\\ \;\;\;\;\left(\frac{1}{\sin B \cdot \left(F \cdot F\right)} - \frac{1}{\sin B}\right) - \frac{x}{\tan B}\\ \mathbf{elif}\;F \le 59636856.48207364:\\ \;\;\;\;\frac{{\left(x \cdot 2 + \left(2 + F \cdot F\right)\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x \cdot \cos B}{\sin B}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{\sin B} - \frac{1}{\sin B \cdot \left(F \cdot F\right)}\right) - \frac{x}{\tan B}\\ \end{array}\]
\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)}
\begin{array}{l}
\mathbf{if}\;F \le -8575.24190677927:\\
\;\;\;\;\left(\frac{1}{\sin B \cdot \left(F \cdot F\right)} - \frac{1}{\sin B}\right) - \frac{x}{\tan B}\\

\mathbf{elif}\;F \le 59636856.48207364:\\
\;\;\;\;\frac{{\left(x \cdot 2 + \left(2 + F \cdot F\right)\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x \cdot \cos B}{\sin B}\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{\sin B} - \frac{1}{\sin B \cdot \left(F \cdot F\right)}\right) - \frac{x}{\tan B}\\

\end{array}
double f(double F, double B, double x) {
        double r820286 = x;
        double r820287 = 1.0;
        double r820288 = B;
        double r820289 = tan(r820288);
        double r820290 = r820287 / r820289;
        double r820291 = r820286 * r820290;
        double r820292 = -r820291;
        double r820293 = F;
        double r820294 = sin(r820288);
        double r820295 = r820293 / r820294;
        double r820296 = r820293 * r820293;
        double r820297 = 2.0;
        double r820298 = r820296 + r820297;
        double r820299 = r820297 * r820286;
        double r820300 = r820298 + r820299;
        double r820301 = r820287 / r820297;
        double r820302 = -r820301;
        double r820303 = pow(r820300, r820302);
        double r820304 = r820295 * r820303;
        double r820305 = r820292 + r820304;
        return r820305;
}

double f(double F, double B, double x) {
        double r820306 = F;
        double r820307 = -8575.24190677927;
        bool r820308 = r820306 <= r820307;
        double r820309 = 1.0;
        double r820310 = B;
        double r820311 = sin(r820310);
        double r820312 = r820306 * r820306;
        double r820313 = r820311 * r820312;
        double r820314 = r820309 / r820313;
        double r820315 = r820309 / r820311;
        double r820316 = r820314 - r820315;
        double r820317 = x;
        double r820318 = tan(r820310);
        double r820319 = r820317 / r820318;
        double r820320 = r820316 - r820319;
        double r820321 = 59636856.48207364;
        bool r820322 = r820306 <= r820321;
        double r820323 = 2.0;
        double r820324 = r820317 * r820323;
        double r820325 = r820323 + r820312;
        double r820326 = r820324 + r820325;
        double r820327 = -0.5;
        double r820328 = pow(r820326, r820327);
        double r820329 = r820311 / r820306;
        double r820330 = r820328 / r820329;
        double r820331 = cos(r820310);
        double r820332 = r820317 * r820331;
        double r820333 = r820332 / r820311;
        double r820334 = r820330 - r820333;
        double r820335 = r820315 - r820314;
        double r820336 = r820335 - r820319;
        double r820337 = r820322 ? r820334 : r820336;
        double r820338 = r820308 ? r820320 : r820337;
        return r820338;
}

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. Split input into 3 regimes
  2. if F < -8575.24190677927

    1. Initial program 26.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. Simplified25.4

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

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

      \[\leadsto \color{blue}{\left(\frac{1}{\left(F \cdot F\right) \cdot \sin B} - \frac{1}{\sin B}\right)} - \frac{x}{\tan B}\]

    if -8575.24190677927 < F < 59636856.48207364

    1. Initial program 0.4

      \[\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. Simplified0.3

      \[\leadsto \color{blue}{\frac{{\left(\left(2 + F \cdot F\right) + x \cdot 2\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x}{\tan B}}\]
    3. Taylor expanded around -inf 0.3

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

    if 59636856.48207364 < F

    1. Initial program 23.7

      \[\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. Simplified22.9

      \[\leadsto \color{blue}{\frac{{\left(\left(2 + F \cdot F\right) + x \cdot 2\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x}{\tan B}}\]
    3. Taylor expanded around inf 0.1

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

      \[\leadsto \color{blue}{\left(\frac{1}{\sin B} - \frac{1}{\left(F \cdot F\right) \cdot \sin B}\right)} - \frac{x}{\tan B}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;F \le -8575.24190677927:\\ \;\;\;\;\left(\frac{1}{\sin B \cdot \left(F \cdot F\right)} - \frac{1}{\sin B}\right) - \frac{x}{\tan B}\\ \mathbf{elif}\;F \le 59636856.48207364:\\ \;\;\;\;\frac{{\left(x \cdot 2 + \left(2 + F \cdot F\right)\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x \cdot \cos B}{\sin B}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{\sin B} - \frac{1}{\sin B \cdot \left(F \cdot F\right)}\right) - \frac{x}{\tan B}\\ \end{array}\]

Reproduce

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