Average Error: 16.3 → 12.2
Time: 1.0m
Precision: 64
Internal precision: 128
\[\pi \cdot \ell - \frac1{{F}^2} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\ell \le -1.6564889833263496 \cdot 10^{+144}:\\ \;\;\;\;\ell \cdot \pi - \left(-\frac1{F \cdot F}\right) \cdot \frac{\sin \left(\frac{\pi}{\ell}\right)}{\cos \left(\frac{\pi}{\ell}\right)}\\ \mathbf{if}\;\ell \le 2.5805133804462966 \cdot 10^{+137}:\\ \;\;\;\;\pi \cdot \ell - \frac1{{F}^2} \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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)}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \pi - \left(-\frac1{F \cdot F}\right) \cdot \frac{\sin \left(\frac{\pi}{\ell}\right)}{\cos \left(\frac{\pi}{\ell}\right)}\\ \end{array}\]

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes.
  2. if l < -1.6564889833263496e+144 or 2.5805133804462966e+137 < l

    1. Initial program 17.2

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

      \[\leadsto \pi \cdot \ell - \color{blue}{{\left(\sqrt{\frac1{{F}^2}}\right)}^2} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied taylor 12.2

      \[\leadsto \pi \cdot \ell - {\left(\sqrt{\frac1{{F}^2}}\right)}^2 \cdot \frac{\sin \left(-1 \cdot \frac{\pi}{\ell}\right)}{\cos \left(-1 \cdot \frac{\pi}{\ell}\right)}\]
    5. Taylor expanded around -inf 12.2

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

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

    if -1.6564889833263496e+144 < l < 2.5805133804462966e+137

    1. Initial program 15.9

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

      \[\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 taylor 12.1

      \[\leadsto \pi \cdot \ell - \frac1{{F}^2} \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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)}\]
    5. Taylor expanded around 0 12.1

      \[\leadsto \pi \cdot \ell - \frac1{{F}^2} \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\color{blue}{\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)}}\]
  3. Recombined 2 regimes into one program.
  4. Removed slow pow expressions

Runtime

Time bar (total: 1.0m) Debug log

Please include this information when filing a bug report:

herbie --seed '#(85725396 1865480782 2357118123 1495902572 3120370590 3188430622)'
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  (- (* PI l) (* (/ (sqr F)) (tan (* PI l)))))