Average Error: 16.7 → 9.2
Time: 9.0s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -1.011948691715024543580909495142699086666 \cdot 10^{169}:\\ \;\;\;\;\pi \cdot \ell - \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \sqrt[3]{\frac{1}{F \cdot F}}\right) \cdot \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \tan \left(\pi \cdot \ell\right)\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 2.691706907806316542182290270953314062387 \cdot 10^{133}:\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\left(\left(\frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right) + 1\right) - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\ \end{array}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -1.011948691715024543580909495142699086666 \cdot 10^{169}:\\
\;\;\;\;\pi \cdot \ell - \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \sqrt[3]{\frac{1}{F \cdot F}}\right) \cdot \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \tan \left(\pi \cdot \ell\right)\right)\\

\mathbf{elif}\;\pi \cdot \ell \le 2.691706907806316542182290270953314062387 \cdot 10^{133}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\left(\left(\frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right) + 1\right) - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\

\end{array}
double f(double F, double l) {
        double r15211 = atan2(1.0, 0.0);
        double r15212 = l;
        double r15213 = r15211 * r15212;
        double r15214 = 1.0;
        double r15215 = F;
        double r15216 = r15215 * r15215;
        double r15217 = r15214 / r15216;
        double r15218 = tan(r15213);
        double r15219 = r15217 * r15218;
        double r15220 = r15213 - r15219;
        return r15220;
}

double f(double F, double l) {
        double r15221 = atan2(1.0, 0.0);
        double r15222 = l;
        double r15223 = r15221 * r15222;
        double r15224 = -1.0119486917150245e+169;
        bool r15225 = r15223 <= r15224;
        double r15226 = 1.0;
        double r15227 = F;
        double r15228 = r15227 * r15227;
        double r15229 = r15226 / r15228;
        double r15230 = cbrt(r15229);
        double r15231 = r15230 * r15230;
        double r15232 = tan(r15223);
        double r15233 = r15230 * r15232;
        double r15234 = r15231 * r15233;
        double r15235 = r15223 - r15234;
        double r15236 = 2.6917069078063165e+133;
        bool r15237 = r15223 <= r15236;
        double r15238 = cbrt(r15226);
        double r15239 = r15238 * r15238;
        double r15240 = r15239 / r15227;
        double r15241 = sin(r15223);
        double r15242 = r15241 * r15238;
        double r15243 = 0.041666666666666664;
        double r15244 = 4.0;
        double r15245 = pow(r15221, r15244);
        double r15246 = pow(r15222, r15244);
        double r15247 = r15245 * r15246;
        double r15248 = r15243 * r15247;
        double r15249 = 1.0;
        double r15250 = r15248 + r15249;
        double r15251 = 0.5;
        double r15252 = 2.0;
        double r15253 = pow(r15221, r15252);
        double r15254 = pow(r15222, r15252);
        double r15255 = r15253 * r15254;
        double r15256 = r15251 * r15255;
        double r15257 = r15250 - r15256;
        double r15258 = r15257 * r15227;
        double r15259 = r15242 / r15258;
        double r15260 = r15240 * r15259;
        double r15261 = r15223 - r15260;
        double r15262 = cbrt(r15223);
        double r15263 = r15262 * r15262;
        double r15264 = r15263 * r15262;
        double r15265 = tan(r15264);
        double r15266 = r15229 * r15265;
        double r15267 = r15223 - r15266;
        double r15268 = r15237 ? r15261 : r15267;
        double r15269 = r15225 ? r15235 : r15268;
        return r15269;
}

Error

Bits error versus F

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if (* PI l) < -1.0119486917150245e+169

    1. Initial program 20.0

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt20.0

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \sqrt[3]{\frac{1}{F \cdot F}}\right) \cdot \sqrt[3]{\frac{1}{F \cdot F}}\right)} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied associate-*l*20.0

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \sqrt[3]{\frac{1}{F \cdot F}}\right) \cdot \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \tan \left(\pi \cdot \ell\right)\right)}\]

    if -1.0119486917150245e+169 < (* PI l) < 2.6917069078063165e+133

    1. Initial program 15.0

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt15.0

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied times-frac15.1

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sqrt[3]{1}}{F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\]
    5. Applied associate-*l*9.5

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \left(\frac{\sqrt[3]{1}}{F} \cdot \tan \left(\pi \cdot \ell\right)\right)}\]
    6. Taylor expanded around inf 9.4

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \color{blue}{\frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\cos \left(\pi \cdot \ell\right) \cdot F}}\]
    7. Taylor expanded around 0 4.7

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\color{blue}{\left(\left(\frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right) + 1\right) - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right)} \cdot F}\]

    if 2.6917069078063165e+133 < (* PI l)

    1. Initial program 21.6

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt21.6

      \[\leadsto \pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \color{blue}{\left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -1.011948691715024543580909495142699086666 \cdot 10^{169}:\\ \;\;\;\;\pi \cdot \ell - \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \sqrt[3]{\frac{1}{F \cdot F}}\right) \cdot \left(\sqrt[3]{\frac{1}{F \cdot F}} \cdot \tan \left(\pi \cdot \ell\right)\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 2.691706907806316542182290270953314062387 \cdot 10^{133}:\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\left(\left(\frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right) + 1\right) - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020001 
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  :precision binary64
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))