Average Error: 14.4 → 0.2
Time: 37.6s
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 -78083014094234451968:\\ \;\;\;\;\left(\frac{1}{\sin B \cdot \left(F \cdot F\right)} - \frac{1}{\sin B}\right) - \frac{x}{\tan B} \cdot 1\\ \mathbf{elif}\;F \le 18488014.1702118404209613800048828125:\\ \;\;\;\;\frac{\frac{1}{{\left(\left(2 + F \cdot F\right) + x \cdot 2\right)}^{\left(\frac{1}{2}\right)}}}{\frac{\sin B}{F}} - \frac{x}{\tan B} \cdot 1\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{\sin B} - \frac{1}{\sin B \cdot \left(F \cdot F\right)}\right) - \frac{x}{\tan B} \cdot 1\\ \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 -78083014094234451968:\\
\;\;\;\;\left(\frac{1}{\sin B \cdot \left(F \cdot F\right)} - \frac{1}{\sin B}\right) - \frac{x}{\tan B} \cdot 1\\

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

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

\end{array}
double f(double F, double B, double x) {
        double r1961839 = x;
        double r1961840 = 1.0;
        double r1961841 = B;
        double r1961842 = tan(r1961841);
        double r1961843 = r1961840 / r1961842;
        double r1961844 = r1961839 * r1961843;
        double r1961845 = -r1961844;
        double r1961846 = F;
        double r1961847 = sin(r1961841);
        double r1961848 = r1961846 / r1961847;
        double r1961849 = r1961846 * r1961846;
        double r1961850 = 2.0;
        double r1961851 = r1961849 + r1961850;
        double r1961852 = r1961850 * r1961839;
        double r1961853 = r1961851 + r1961852;
        double r1961854 = r1961840 / r1961850;
        double r1961855 = -r1961854;
        double r1961856 = pow(r1961853, r1961855);
        double r1961857 = r1961848 * r1961856;
        double r1961858 = r1961845 + r1961857;
        return r1961858;
}

double f(double F, double B, double x) {
        double r1961859 = F;
        double r1961860 = -7.808301409423445e+19;
        bool r1961861 = r1961859 <= r1961860;
        double r1961862 = 1.0;
        double r1961863 = B;
        double r1961864 = sin(r1961863);
        double r1961865 = r1961859 * r1961859;
        double r1961866 = r1961864 * r1961865;
        double r1961867 = r1961862 / r1961866;
        double r1961868 = 1.0;
        double r1961869 = r1961868 / r1961864;
        double r1961870 = r1961867 - r1961869;
        double r1961871 = x;
        double r1961872 = tan(r1961863);
        double r1961873 = r1961871 / r1961872;
        double r1961874 = r1961873 * r1961862;
        double r1961875 = r1961870 - r1961874;
        double r1961876 = 18488014.17021184;
        bool r1961877 = r1961859 <= r1961876;
        double r1961878 = 2.0;
        double r1961879 = r1961878 + r1961865;
        double r1961880 = r1961871 * r1961878;
        double r1961881 = r1961879 + r1961880;
        double r1961882 = r1961862 / r1961878;
        double r1961883 = pow(r1961881, r1961882);
        double r1961884 = r1961868 / r1961883;
        double r1961885 = r1961864 / r1961859;
        double r1961886 = r1961884 / r1961885;
        double r1961887 = r1961886 - r1961874;
        double r1961888 = r1961869 - r1961867;
        double r1961889 = r1961888 - r1961874;
        double r1961890 = r1961877 ? r1961887 : r1961889;
        double r1961891 = r1961861 ? r1961875 : r1961890;
        return r1961891;
}

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 < -7.808301409423445e+19

    1. Initial program 26.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. Simplified26.3

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

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

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

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

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

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

    if -7.808301409423445e+19 < F < 18488014.17021184

    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.4

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

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

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

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

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

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

    if 18488014.17021184 < F

    1. Initial program 26.1

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

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019169 
(FPCore (F B x)
  :name "VandenBroeck and Keller, Equation (23)"
  (+ (- (* x (/ 1.0 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* 2.0 x)) (- (/ 1.0 2.0))))))