Average Error: 14.1 → 0.2
Time: 6.8m
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 -172717042.99853888:\\ \;\;\;\;\frac{1}{-\left(\frac{x}{\frac{F \cdot F}{\sin B}} + \sin B\right)} - \frac{x}{\tan B}\\ \mathbf{elif}\;F \le 2.0998209165392296 \cdot 10^{+27}:\\ \;\;\;\;\frac{{\left(2 + \left(F \cdot F + x \cdot 2\right)\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \cos B \cdot \frac{x}{\sin B}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{x}{\frac{F \cdot F}{\sin B}} + \sin B} - \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 -172717042.99853888:\\
\;\;\;\;\frac{1}{-\left(\frac{x}{\frac{F \cdot F}{\sin B}} + \sin B\right)} - \frac{x}{\tan B}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{x}{\frac{F \cdot F}{\sin B}} + \sin B} - \frac{x}{\tan B}\\

\end{array}
double f(double F, double B, double x) {
        double r2535442 = x;
        double r2535443 = 1.0;
        double r2535444 = B;
        double r2535445 = tan(r2535444);
        double r2535446 = r2535443 / r2535445;
        double r2535447 = r2535442 * r2535446;
        double r2535448 = -r2535447;
        double r2535449 = F;
        double r2535450 = sin(r2535444);
        double r2535451 = r2535449 / r2535450;
        double r2535452 = r2535449 * r2535449;
        double r2535453 = 2.0;
        double r2535454 = r2535452 + r2535453;
        double r2535455 = r2535453 * r2535442;
        double r2535456 = r2535454 + r2535455;
        double r2535457 = r2535443 / r2535453;
        double r2535458 = -r2535457;
        double r2535459 = pow(r2535456, r2535458);
        double r2535460 = r2535451 * r2535459;
        double r2535461 = r2535448 + r2535460;
        return r2535461;
}

double f(double F, double B, double x) {
        double r2535462 = F;
        double r2535463 = -172717042.99853888;
        bool r2535464 = r2535462 <= r2535463;
        double r2535465 = 1.0;
        double r2535466 = x;
        double r2535467 = r2535462 * r2535462;
        double r2535468 = B;
        double r2535469 = sin(r2535468);
        double r2535470 = r2535467 / r2535469;
        double r2535471 = r2535466 / r2535470;
        double r2535472 = r2535471 + r2535469;
        double r2535473 = -r2535472;
        double r2535474 = r2535465 / r2535473;
        double r2535475 = tan(r2535468);
        double r2535476 = r2535466 / r2535475;
        double r2535477 = r2535474 - r2535476;
        double r2535478 = 2.0998209165392296e+27;
        bool r2535479 = r2535462 <= r2535478;
        double r2535480 = 2.0;
        double r2535481 = r2535466 * r2535480;
        double r2535482 = r2535467 + r2535481;
        double r2535483 = r2535480 + r2535482;
        double r2535484 = -0.5;
        double r2535485 = pow(r2535483, r2535484);
        double r2535486 = r2535469 / r2535462;
        double r2535487 = r2535485 / r2535486;
        double r2535488 = cos(r2535468);
        double r2535489 = r2535466 / r2535469;
        double r2535490 = r2535488 * r2535489;
        double r2535491 = r2535487 - r2535490;
        double r2535492 = r2535465 / r2535472;
        double r2535493 = r2535492 - r2535476;
        double r2535494 = r2535479 ? r2535491 : r2535493;
        double r2535495 = r2535464 ? r2535477 : r2535494;
        return r2535495;
}

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 < -172717042.99853888

    1. Initial program 25.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. Simplified24.9

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

      \[\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 associate-/r*20.2

      \[\leadsto \color{blue}{\frac{\frac{{\left(\left(2 \cdot x + F \cdot F\right) + 2\right)}^{\frac{-1}{2}}}{\sin B}}{\frac{1}{F}}} - \frac{x}{\tan B}\]
    6. Using strategy rm
    7. Applied clear-num20.2

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

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

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

    if -172717042.99853888 < F < 2.0998209165392296e+27

    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 \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 tan-quot0.4

      \[\leadsto \frac{{\left(\left(2 \cdot x + F \cdot F\right) + 2\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x}{\color{blue}{\frac{\sin B}{\cos B}}}\]
    5. Applied associate-/r/0.4

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

    if 2.0998209165392296e+27 < F

    1. Initial program 27.0

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

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

      \[\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 associate-/r*21.4

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

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

      \[\leadsto \frac{1}{\color{blue}{\frac{x \cdot \sin B}{{F}^{2}} + \sin B}} - \frac{x}{\tan B}\]
    9. Simplified0.1

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

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

Reproduce

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