Average Error: 13.2 → 0.2
Time: 2.7m
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 -147630781.09449214:\\ \;\;\;\;\frac{1}{-\left(\frac{\sin B}{F \cdot F} \cdot x + \sin B\right)} - \frac{x}{\tan B}\\ \mathbf{elif}\;F \le 57908733.4882209:\\ \;\;\;\;\frac{{\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x}{\tan B}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{\sin B}{F \cdot F} \cdot x + \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 -147630781.09449214:\\
\;\;\;\;\frac{1}{-\left(\frac{\sin B}{F \cdot F} \cdot x + \sin B\right)} - \frac{x}{\tan B}\\

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

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

\end{array}
double f(double F, double B, double x) {
        double r12538852 = x;
        double r12538853 = 1.0;
        double r12538854 = B;
        double r12538855 = tan(r12538854);
        double r12538856 = r12538853 / r12538855;
        double r12538857 = r12538852 * r12538856;
        double r12538858 = -r12538857;
        double r12538859 = F;
        double r12538860 = sin(r12538854);
        double r12538861 = r12538859 / r12538860;
        double r12538862 = r12538859 * r12538859;
        double r12538863 = 2.0;
        double r12538864 = r12538862 + r12538863;
        double r12538865 = r12538863 * r12538852;
        double r12538866 = r12538864 + r12538865;
        double r12538867 = r12538853 / r12538863;
        double r12538868 = -r12538867;
        double r12538869 = pow(r12538866, r12538868);
        double r12538870 = r12538861 * r12538869;
        double r12538871 = r12538858 + r12538870;
        return r12538871;
}

double f(double F, double B, double x) {
        double r12538872 = F;
        double r12538873 = -147630781.09449214;
        bool r12538874 = r12538872 <= r12538873;
        double r12538875 = 1.0;
        double r12538876 = B;
        double r12538877 = sin(r12538876);
        double r12538878 = r12538872 * r12538872;
        double r12538879 = r12538877 / r12538878;
        double r12538880 = x;
        double r12538881 = r12538879 * r12538880;
        double r12538882 = r12538881 + r12538877;
        double r12538883 = -r12538882;
        double r12538884 = r12538875 / r12538883;
        double r12538885 = tan(r12538876);
        double r12538886 = r12538880 / r12538885;
        double r12538887 = r12538884 - r12538886;
        double r12538888 = 57908733.4882209;
        bool r12538889 = r12538872 <= r12538888;
        double r12538890 = 2.0;
        double r12538891 = r12538878 + r12538890;
        double r12538892 = r12538890 * r12538880;
        double r12538893 = r12538891 + r12538892;
        double r12538894 = -0.5;
        double r12538895 = pow(r12538893, r12538894);
        double r12538896 = r12538877 / r12538872;
        double r12538897 = r12538895 / r12538896;
        double r12538898 = r12538897 - r12538886;
        double r12538899 = r12538875 / r12538882;
        double r12538900 = r12538899 - r12538886;
        double r12538901 = r12538889 ? r12538898 : r12538900;
        double r12538902 = r12538874 ? r12538887 : r12538901;
        return r12538902;
}

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

    1. Initial program 24.8

      \[\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. Simplified19.7

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

      \[\leadsto \color{blue}{\frac{1}{\frac{\sin B}{{\left(\left(2 + F \cdot F\right) + 2 \cdot x\right)}^{\frac{-1}{2}} \cdot F}}} - \frac{x}{\tan B}\]
    5. 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}\]
    6. Simplified0.2

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

    if -147630781.09449214 < F < 57908733.4882209

    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) + 2 \cdot x\right)}^{\frac{-1}{2}} \cdot F}{\sin B} - \frac{x}{\tan B}}\]
    3. Using strategy rm
    4. Applied clear-num0.3

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

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

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

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

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

    if 57908733.4882209 < F

    1. Initial program 24.3

      \[\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. Simplified18.8

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

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

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

      \[\leadsto \frac{1}{\color{blue}{x \cdot \frac{\sin B}{F \cdot F} + \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 -147630781.09449214:\\ \;\;\;\;\frac{1}{-\left(\frac{\sin B}{F \cdot F} \cdot x + \sin B\right)} - \frac{x}{\tan B}\\ \mathbf{elif}\;F \le 57908733.4882209:\\ \;\;\;\;\frac{{\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\frac{-1}{2}}}{\frac{\sin B}{F}} - \frac{x}{\tan B}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{\sin B}{F \cdot F} \cdot x + \sin B} - \frac{x}{\tan B}\\ \end{array}\]

Reproduce

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