Average Error: 13.7 → 12.9
Time: 14.2s
Precision: binary64
\[\]
\[\]

Error

Bits error versus x

Derivation

  1. Initial program 13.7

    \[\]
  2. Taylor expanded around 0 13.7

    \[\leadsto \]
  3. Simplified13.7

    \[\leadsto \]
  4. Using strategy rm
  5. Applied flip3--13.7

    \[\leadsto \]
  6. Simplified13.7

    \[\leadsto \]
  7. Simplified13.7

    \[\leadsto \]
  8. Using strategy rm
  9. Applied add-sqr-sqrt12.9

    \[\leadsto \]
  10. Using strategy rm
  11. Applied add-cbrt-cube12.9

    \[\leadsto \]
  12. Applied add-cbrt-cube12.9

    \[\leadsto \]
  13. Applied add-cbrt-cube12.9

    \[\leadsto \]
  14. Applied cbrt-undiv12.9

    \[\leadsto \]
  15. Applied cbrt-unprod12.9

    \[\leadsto \]
  16. Simplified12.9

    \[\leadsto \]
  17. Final simplification12.9

    \[\leadsto \]

Reproduce

herbie shell --seed 2020192 
(FPCore (x)
  :name "Jmat.Real.erf"
  :precision binary64
  (- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (neg (* (fabs x) (fabs x)))))))