Average Error: 16.7 → 7.0
Time: 8.8s
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 -5.32475527761606443 \cdot 10^{155}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{F}{\pi \cdot \ell} - \frac{1}{3} \cdot \left(F \cdot \left(\pi \cdot \ell\right)\right)}\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 5.627794797241471 \cdot 10^{141}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{\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}{\sin \left(\pi \cdot \ell\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - {\left(\frac{1}{F \cdot F}\right)}^{1} \cdot \tan \left(\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 -5.32475527761606443 \cdot 10^{155}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{F}{\pi \cdot \ell} - \frac{1}{3} \cdot \left(F \cdot \left(\pi \cdot \ell\right)\right)}\right)\\

\mathbf{elif}\;\pi \cdot \ell \le 5.627794797241471 \cdot 10^{141}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{\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}{\sin \left(\pi \cdot \ell\right)}}\right)\\

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

\end{array}
double f(double F, double l) {
        double r14628 = atan2(1.0, 0.0);
        double r14629 = l;
        double r14630 = r14628 * r14629;
        double r14631 = 1.0;
        double r14632 = F;
        double r14633 = r14632 * r14632;
        double r14634 = r14631 / r14633;
        double r14635 = tan(r14630);
        double r14636 = r14634 * r14635;
        double r14637 = r14630 - r14636;
        return r14637;
}

double f(double F, double l) {
        double r14638 = atan2(1.0, 0.0);
        double r14639 = l;
        double r14640 = r14638 * r14639;
        double r14641 = -5.324755277616064e+155;
        bool r14642 = r14640 <= r14641;
        double r14643 = 1.0;
        double r14644 = F;
        double r14645 = r14643 / r14644;
        double r14646 = 1.0;
        double r14647 = r14644 / r14640;
        double r14648 = 0.3333333333333333;
        double r14649 = r14644 * r14640;
        double r14650 = r14648 * r14649;
        double r14651 = r14647 - r14650;
        double r14652 = r14643 / r14651;
        double r14653 = r14646 * r14652;
        double r14654 = r14645 * r14653;
        double r14655 = r14640 - r14654;
        double r14656 = 5.627794797241471e+141;
        bool r14657 = r14640 <= r14656;
        double r14658 = 0.041666666666666664;
        double r14659 = 4.0;
        double r14660 = pow(r14638, r14659);
        double r14661 = pow(r14639, r14659);
        double r14662 = r14660 * r14661;
        double r14663 = r14658 * r14662;
        double r14664 = r14663 + r14643;
        double r14665 = 0.5;
        double r14666 = 2.0;
        double r14667 = pow(r14638, r14666);
        double r14668 = pow(r14639, r14666);
        double r14669 = r14667 * r14668;
        double r14670 = r14665 * r14669;
        double r14671 = r14664 - r14670;
        double r14672 = r14671 * r14644;
        double r14673 = sin(r14640);
        double r14674 = r14672 / r14673;
        double r14675 = r14643 / r14674;
        double r14676 = r14646 * r14675;
        double r14677 = r14645 * r14676;
        double r14678 = r14640 - r14677;
        double r14679 = r14644 * r14644;
        double r14680 = r14646 / r14679;
        double r14681 = pow(r14680, r14643);
        double r14682 = tan(r14640);
        double r14683 = r14681 * r14682;
        double r14684 = r14640 - r14683;
        double r14685 = r14657 ? r14678 : r14684;
        double r14686 = r14642 ? r14655 : r14685;
        return r14686;
}

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) < -5.324755277616064e+155

    1. Initial program 20.5

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

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

      \[\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*20.5

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

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \color{blue}{\left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right) \cdot F}\right)}\]
    7. Using strategy rm
    8. Applied clear-num20.5

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

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

    if -5.324755277616064e+155 < (* PI l) < 5.627794797241471e+141

    1. Initial program 15.1

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

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

      \[\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*9.1

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

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \color{blue}{\left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right) \cdot F}\right)}\]
    7. Using strategy rm
    8. Applied clear-num9.1

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

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{\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}{\sin \left(\pi \cdot \ell\right)}}\right)\]

    if 5.627794797241471e+141 < (* PI l)

    1. Initial program 21.0

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -5.32475527761606443 \cdot 10^{155}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{F}{\pi \cdot \ell} - \frac{1}{3} \cdot \left(F \cdot \left(\pi \cdot \ell\right)\right)}\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 5.627794797241471 \cdot 10^{141}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{1}{\frac{\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}{\sin \left(\pi \cdot \ell\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - {\left(\frac{1}{F \cdot F}\right)}^{1} \cdot \tan \left(\pi \cdot \ell\right)\\ \end{array}\]

Reproduce

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