Average Error: 15.8 → 9.9
Time: 34.9s
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 89374916.04315051:\\ \;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right) \cdot \left(\ell \cdot \left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)\right)\right)}{F}}{F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\ \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 89374916.04315051:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right) \cdot \left(\ell \cdot \left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)\right)\right)}{F}}{F}\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\

\end{array}
double f(double F, double l) {
        double r673928 = atan2(1.0, 0.0);
        double r673929 = l;
        double r673930 = r673928 * r673929;
        double r673931 = 1.0;
        double r673932 = F;
        double r673933 = r673932 * r673932;
        double r673934 = r673931 / r673933;
        double r673935 = tan(r673930);
        double r673936 = r673934 * r673935;
        double r673937 = r673930 - r673936;
        return r673937;
}

double f(double F, double l) {
        double r673938 = atan2(1.0, 0.0);
        double r673939 = l;
        double r673940 = r673938 * r673939;
        double r673941 = 89374916.04315051;
        bool r673942 = r673940 <= r673941;
        double r673943 = sqrt(r673938);
        double r673944 = sqrt(r673943);
        double r673945 = r673944 * r673944;
        double r673946 = r673939 * r673945;
        double r673947 = r673945 * r673946;
        double r673948 = tan(r673947);
        double r673949 = F;
        double r673950 = r673948 / r673949;
        double r673951 = r673950 / r673949;
        double r673952 = r673940 - r673951;
        double r673953 = tan(r673940);
        double r673954 = r673953 / r673949;
        double r673955 = /* ERROR: no posit support in C */;
        double r673956 = /* ERROR: no posit support in C */;
        double r673957 = r673956 / r673949;
        double r673958 = r673940 - r673957;
        double r673959 = r673942 ? r673952 : r673958;
        return r673959;
}

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes
  2. if (* PI l) < 89374916.04315051

    1. Initial program 13.1

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Simplified7.6

      \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt7.8

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

      \[\leadsto \pi \cdot \ell - \frac{\frac{\tan \color{blue}{\left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right)}}{F}}{F}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt7.8

      \[\leadsto \pi \cdot \ell - \frac{\frac{\tan \left(\sqrt{\color{blue}{\sqrt{\pi} \cdot \sqrt{\pi}}} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right)}{F}}{F}\]
    8. Applied sqrt-prod7.7

      \[\leadsto \pi \cdot \ell - \frac{\frac{\tan \left(\color{blue}{\left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right)}{F}}{F}\]
    9. Using strategy rm
    10. Applied add-sqr-sqrt7.7

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

    if 89374916.04315051 < (* PI l)

    1. Initial program 23.4

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Simplified23.4

      \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
    3. Using strategy rm
    4. Applied clear-num23.4

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\frac{1}{\frac{F}{\tan \left(\pi \cdot \ell\right)}}}}{F}\]
    5. Using strategy rm
    6. Applied insert-posit1616.3

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le 89374916.04315051:\\ \;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right) \cdot \left(\ell \cdot \left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)\right)\right)}{F}}{F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\ \end{array}\]

Reproduce

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