Average Error: 34.6 → 32.4
Time: 30.8s
Precision: binary64
\[\]
\[\]

Error

Bits error versus n

Bits error versus U

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus U*

Derivation

  1. Split input into 2 regimes
  2. if n < -1.5437202692128072e-226 or -7.178830274298204e-295 < n

    1. Initial program 34.2

      \[\]
    2. Simplified31.9

      \[\leadsto \]
    3. Using strategy rm
    4. Applied associate-*r*31.6

      \[\leadsto \]
    5. Using strategy rm
    6. Applied associate-*r*31.8

      \[\leadsto \]

    if -1.5437202692128072e-226 < n < -7.178830274298204e-295

    1. Initial program 39.5

      \[\]
    2. Simplified38.2

      \[\leadsto \]
    3. Using strategy rm
    4. Applied associate-*r*36.3

      \[\leadsto \]
    5. Using strategy rm
    6. Applied associate-*r*37.4

      \[\leadsto \]
    7. Taylor expanded around inf 53.1

      \[\leadsto \]
    8. Simplified38.7

      \[\leadsto \]
  3. Recombined 2 regimes into one program.
  4. Final simplification32.4

    \[\leadsto \]

Reproduce

herbie shell --seed 2020181 
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  :precision binary64
  (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))