Average Error: 13.7 → 0.2
Time: 32.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 -1.331755897157237081298683867708090760062 \cdot 10^{154}:\\ \;\;\;\;\left(\frac{1}{\sin B \cdot {F}^{2}} + \frac{-1}{\sin B}\right) - \frac{x \cdot 1}{\tan B}\\ \mathbf{elif}\;F \le 9.754679358530796536193448728543810818608 \cdot 10^{148}:\\ \;\;\;\;\frac{1}{\sin B} \cdot \frac{F}{{\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(\frac{1}{2}\right)}} - \frac{x \cdot 1}{\tan B}\\ \mathbf{else}:\\ \;\;\;\;\frac{F}{\sin B \cdot \left(F + 1 \cdot {\left(\frac{1}{{F}^{1}}\right)}^{1}\right)} - \frac{x \cdot 1}{\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 -1.331755897157237081298683867708090760062 \cdot 10^{154}:\\
\;\;\;\;\left(\frac{1}{\sin B \cdot {F}^{2}} + \frac{-1}{\sin B}\right) - \frac{x \cdot 1}{\tan B}\\

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

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

\end{array}
double f(double F, double B, double x) {
        double r46749 = x;
        double r46750 = 1.0;
        double r46751 = B;
        double r46752 = tan(r46751);
        double r46753 = r46750 / r46752;
        double r46754 = r46749 * r46753;
        double r46755 = -r46754;
        double r46756 = F;
        double r46757 = sin(r46751);
        double r46758 = r46756 / r46757;
        double r46759 = r46756 * r46756;
        double r46760 = 2.0;
        double r46761 = r46759 + r46760;
        double r46762 = r46760 * r46749;
        double r46763 = r46761 + r46762;
        double r46764 = r46750 / r46760;
        double r46765 = -r46764;
        double r46766 = pow(r46763, r46765);
        double r46767 = r46758 * r46766;
        double r46768 = r46755 + r46767;
        return r46768;
}

double f(double F, double B, double x) {
        double r46769 = F;
        double r46770 = -1.3317558971572371e+154;
        bool r46771 = r46769 <= r46770;
        double r46772 = 1.0;
        double r46773 = B;
        double r46774 = sin(r46773);
        double r46775 = 2.0;
        double r46776 = pow(r46769, r46775);
        double r46777 = r46774 * r46776;
        double r46778 = r46772 / r46777;
        double r46779 = -1.0;
        double r46780 = r46779 / r46774;
        double r46781 = r46778 + r46780;
        double r46782 = x;
        double r46783 = r46782 * r46772;
        double r46784 = tan(r46773);
        double r46785 = r46783 / r46784;
        double r46786 = r46781 - r46785;
        double r46787 = 9.754679358530797e+148;
        bool r46788 = r46769 <= r46787;
        double r46789 = 1.0;
        double r46790 = r46789 / r46774;
        double r46791 = r46769 * r46769;
        double r46792 = 2.0;
        double r46793 = r46791 + r46792;
        double r46794 = r46792 * r46782;
        double r46795 = r46793 + r46794;
        double r46796 = r46772 / r46792;
        double r46797 = pow(r46795, r46796);
        double r46798 = r46769 / r46797;
        double r46799 = r46790 * r46798;
        double r46800 = r46799 - r46785;
        double r46801 = pow(r46769, r46772);
        double r46802 = r46789 / r46801;
        double r46803 = pow(r46802, r46772);
        double r46804 = r46772 * r46803;
        double r46805 = r46769 + r46804;
        double r46806 = r46774 * r46805;
        double r46807 = r46769 / r46806;
        double r46808 = r46807 - r46785;
        double r46809 = r46788 ? r46800 : r46808;
        double r46810 = r46771 ? r46786 : r46809;
        return r46810;
}

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 < -1.3317558971572371e+154

    1. Initial program 41.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. Simplified41.3

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

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

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

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

    if -1.3317558971572371e+154 < F < 9.754679358530797e+148

    1. Initial program 2.6

      \[\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. Simplified2.6

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

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

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

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

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

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

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

    if 9.754679358530797e+148 < F

    1. Initial program 41.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. Simplified41.2

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

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019325 
(FPCore (F B x)
  :name "VandenBroeck and Keller, Equation (23)"
  :precision binary64
  (+ (- (* x (/ 1 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2) (* 2 x)) (- (/ 1 2))))))