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

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

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

\end{array}
double f(double F, double B, double x) {
        double r2663218 = x;
        double r2663219 = 1.0;
        double r2663220 = B;
        double r2663221 = tan(r2663220);
        double r2663222 = r2663219 / r2663221;
        double r2663223 = r2663218 * r2663222;
        double r2663224 = -r2663223;
        double r2663225 = F;
        double r2663226 = sin(r2663220);
        double r2663227 = r2663225 / r2663226;
        double r2663228 = r2663225 * r2663225;
        double r2663229 = 2.0;
        double r2663230 = r2663228 + r2663229;
        double r2663231 = r2663229 * r2663218;
        double r2663232 = r2663230 + r2663231;
        double r2663233 = r2663219 / r2663229;
        double r2663234 = -r2663233;
        double r2663235 = pow(r2663232, r2663234);
        double r2663236 = r2663227 * r2663235;
        double r2663237 = r2663224 + r2663236;
        return r2663237;
}

double f(double F, double B, double x) {
        double r2663238 = F;
        double r2663239 = -32050963.10631644;
        bool r2663240 = r2663238 <= r2663239;
        double r2663241 = 1.0;
        double r2663242 = r2663238 * r2663238;
        double r2663243 = r2663241 / r2663242;
        double r2663244 = B;
        double r2663245 = sin(r2663244);
        double r2663246 = r2663243 / r2663245;
        double r2663247 = 1.0;
        double r2663248 = r2663247 / r2663245;
        double r2663249 = r2663246 - r2663248;
        double r2663250 = x;
        double r2663251 = tan(r2663244);
        double r2663252 = r2663250 / r2663251;
        double r2663253 = r2663252 * r2663241;
        double r2663254 = r2663249 - r2663253;
        double r2663255 = 2.906298232033359e+32;
        bool r2663256 = r2663238 <= r2663255;
        double r2663257 = 2.0;
        double r2663258 = r2663250 * r2663257;
        double r2663259 = r2663258 + r2663242;
        double r2663260 = r2663259 + r2663257;
        double r2663261 = r2663247 / r2663260;
        double r2663262 = r2663241 / r2663257;
        double r2663263 = pow(r2663261, r2663262);
        double r2663264 = r2663245 / r2663263;
        double r2663265 = r2663247 / r2663264;
        double r2663266 = r2663247 / r2663238;
        double r2663267 = r2663265 / r2663266;
        double r2663268 = r2663267 - r2663253;
        double r2663269 = r2663248 - r2663246;
        double r2663270 = r2663269 - r2663253;
        double r2663271 = r2663256 ? r2663268 : r2663270;
        double r2663272 = r2663240 ? r2663254 : r2663271;
        return r2663272;
}

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

    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.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-inv25.3

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

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

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

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

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

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

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

    if -32050963.10631644 < F < 2.906298232033359e+32

    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)}}{\color{blue}{\sin B \cdot \frac{1}{F}}} - \frac{1}{\tan B} \cdot x\]
    5. Applied associate-/r*0.4

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

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

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

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

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

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

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

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

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

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

    if 2.906298232033359e+32 < F

    1. Initial program 28.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. Simplified27.7

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

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

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

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

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

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

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

Reproduce

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