Average Error: 8.5 → 0.6
Time: 37.1s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F} \cdot \frac{1}{F}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F} \cdot \frac{1}{F}
double f(double F, double l) {
        double r494629 = atan2(1.0, 0.0);
        double r494630 = l;
        double r494631 = r494629 * r494630;
        double r494632 = 1.0;
        double r494633 = F;
        double r494634 = r494633 * r494633;
        double r494635 = r494632 / r494634;
        double r494636 = tan(r494631);
        double r494637 = r494635 * r494636;
        double r494638 = r494631 - r494637;
        return r494638;
}

double f(double F, double l) {
        double r494639 = atan2(1.0, 0.0);
        double r494640 = l;
        double r494641 = r494639 * r494640;
        double r494642 = tan(r494641);
        double r494643 = F;
        double r494644 = r494642 / r494643;
        double r494645 = 1.0;
        double r494646 = r494645 / r494643;
        double r494647 = r494644 * r494646;
        double r494648 = r494641 - r494647;
        return r494648;
}

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 8.5

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

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

    \[\leadsto \pi \cdot \ell - \frac{\color{blue}{1 \cdot \tan \left(\pi \cdot \ell\right)}}{F \cdot F}\]
  5. Applied times-frac0.6

    \[\leadsto \pi \cdot \ell - \color{blue}{\frac{1}{F} \cdot \frac{\tan \left(\pi \cdot \ell\right)}{F}}\]
  6. Final simplification0.6

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

Reproduce

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