Average Error: 16.7 → 12.3
Time: 8.6s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\sqrt{1}}{1} \cdot \frac{1 \cdot \left(\tan \left(\pi \cdot \ell\right) \cdot \frac{1}{F}\right)}{F}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\pi \cdot \ell - \frac{\sqrt{1}}{1} \cdot \frac{1 \cdot \left(\tan \left(\pi \cdot \ell\right) \cdot \frac{1}{F}\right)}{F}
double f(double F, double l) {
        double r16701 = atan2(1.0, 0.0);
        double r16702 = l;
        double r16703 = r16701 * r16702;
        double r16704 = 1.0;
        double r16705 = F;
        double r16706 = r16705 * r16705;
        double r16707 = r16704 / r16706;
        double r16708 = tan(r16703);
        double r16709 = r16707 * r16708;
        double r16710 = r16703 - r16709;
        return r16710;
}

double f(double F, double l) {
        double r16711 = atan2(1.0, 0.0);
        double r16712 = l;
        double r16713 = r16711 * r16712;
        double r16714 = 1.0;
        double r16715 = sqrt(r16714);
        double r16716 = r16715 / r16714;
        double r16717 = 1.0;
        double r16718 = tan(r16713);
        double r16719 = F;
        double r16720 = r16714 / r16719;
        double r16721 = r16718 * r16720;
        double r16722 = r16717 * r16721;
        double r16723 = r16722 / r16719;
        double r16724 = r16716 * r16723;
        double r16725 = r16713 - r16724;
        return r16725;
}

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. Initial program 16.7

    \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
  2. Using strategy rm
  3. Applied *-un-lft-identity16.7

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

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

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

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

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

    \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \color{blue}{\frac{\tan \left(\pi \cdot \ell\right)}{F}}\right)\]
  10. Using strategy rm
  11. Applied *-un-lft-identity12.3

    \[\leadsto \pi \cdot \ell - \frac{1}{\color{blue}{1 \cdot F}} \cdot \left(1 \cdot \frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\]
  12. Applied add-sqr-sqrt12.3

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

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

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

    \[\leadsto \pi \cdot \ell - \frac{\sqrt{1}}{1} \cdot \color{blue}{\frac{1 \cdot \frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
  16. Using strategy rm
  17. Applied div-inv12.3

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

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

Reproduce

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