Average Error: 15.6 → 3.8
Time: 31.2s
Precision: 64
Internal precision: 2432
\[\pi \cdot \ell - \frac1{{F}^2} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\ell \le -2.7374721808183484 \cdot 10^{+138}:\\ \;\;\;\;\ell \cdot \pi - \frac{\frac{\sin \left(\frac{\pi}{\ell}\right)}{F}}{\cos \left(\ell \cdot \pi\right) \cdot F}\\ \mathbf{if}\;\ell \le 7.104630577058692 \cdot 10^{+146}:\\ \;\;\;\;\ell \cdot \pi - \frac{\frac{\sin \left(\ell \cdot \pi\right)}{F}}{\left(\left(1 + \frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right)\right) - \frac{1}{2} \cdot \left({\pi}^2 \cdot {\ell}^2\right)\right) \cdot F}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \pi - \frac{\frac{\sin \left(\frac{\pi}{\ell}\right)}{F}}{\cos \left(\ell \cdot \pi\right) \cdot F}\\ \end{array}\]

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes.
  2. if l < -2.7374721808183484e+138 or 7.104630577058692e+146 < l

    1. Initial program 17.6

      \[\pi \cdot \ell - \frac1{{F}^2} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied tan-quot 17.6

      \[\leadsto \pi \cdot \ell - \frac1{{F}^2} \cdot \color{blue}{\frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}}\]
    4. Applied associate-*r/ 17.6

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\frac1{{F}^2} \cdot \sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}}\]
    5. Applied taylor 17.6

      \[\leadsto \pi \cdot \ell - \frac{\frac{1}{{F}^2} \cdot \sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}\]
    6. Taylor expanded around 0 17.6

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\frac{1}{{F}^2}} \cdot \sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}\]
    7. Applied simplify 17.6

      \[\leadsto \color{blue}{\ell \cdot \pi - \frac{\frac{\sin \left(\ell \cdot \pi\right)}{F}}{\cos \left(\ell \cdot \pi\right) \cdot F}}\]
    8. Applied taylor 5.0

      \[\leadsto \ell \cdot \pi - \frac{\frac{\sin \left(\frac{\pi}{\ell}\right)}{F}}{\cos \left(\ell \cdot \pi\right) \cdot F}\]
    9. Taylor expanded around inf 5.0

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

    if -2.7374721808183484e+138 < l < 7.104630577058692e+146

    1. Initial program 14.8

      \[\pi \cdot \ell - \frac1{{F}^2} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied tan-quot 14.8

      \[\leadsto \pi \cdot \ell - \frac1{{F}^2} \cdot \color{blue}{\frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}}\]
    4. Applied associate-*r/ 14.8

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\frac1{{F}^2} \cdot \sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}}\]
    5. Applied taylor 14.8

      \[\leadsto \pi \cdot \ell - \frac{\frac{1}{{F}^2} \cdot \sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}\]
    6. Taylor expanded around 0 14.8

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\frac{1}{{F}^2}} \cdot \sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}\]
    7. Applied simplify 9.2

      \[\leadsto \color{blue}{\ell \cdot \pi - \frac{\frac{\sin \left(\ell \cdot \pi\right)}{F}}{\cos \left(\ell \cdot \pi\right) \cdot F}}\]
    8. Applied taylor 3.4

      \[\leadsto \ell \cdot \pi - \frac{\frac{\sin \left(\ell \cdot \pi\right)}{F}}{\left(\left(1 + \frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right)\right) - \frac{1}{2} \cdot \left({\pi}^2 \cdot {\ell}^2\right)\right) \cdot F}\]
    9. Taylor expanded around 0 3.4

      \[\leadsto \ell \cdot \pi - \frac{\frac{\sin \left(\ell \cdot \pi\right)}{F}}{\color{blue}{\left(\left(1 + \frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right)\right) - \frac{1}{2} \cdot \left({\pi}^2 \cdot {\ell}^2\right)\right)} \cdot F}\]
  3. Recombined 2 regimes into one program.
  4. Removed slow pow expressions

Runtime

Time bar (total: 31.2s) Debug logProfile

Please include this information when filing a bug report:

herbie shell --seed '#(1064524629 4159152179 2999149171 575749698 4006532819 692958815)'
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  (- (* PI l) (* (/ (sqr F)) (tan (* PI l)))))