Average Error: 14.0 → 14.0
Time: 2.5m
Precision: 64
Internal Precision: 576
\[1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
\[e^{\log \left(\log \left(e^{(\left((\left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*} \cdot \frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) \cdot \left((\left((\left(\frac{1.061405429}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*} + -1.453152027\right) \cdot \left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) + 1.421413741)_*\right) \cdot \left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) + -0.284496736)_*\right) + \left(\frac{0.254829592}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right))_*\right) \cdot \left(\frac{-1}{e^{\left|x\right| \cdot \left|x\right|}}\right) + 1)_*}\right)\right)}\]

Error

Bits error versus x

Derivation

  1. Initial program 14.0

    \[1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
  2. Using strategy rm
  3. Applied add-log-exp14.0

    \[\leadsto \color{blue}{\log \left(e^{1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}}\right)}\]
  4. Applied simplify14.0

    \[\leadsto \log \color{blue}{\left(e^{(\left((\left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*} \cdot \frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) \cdot \left((\left((\left(\frac{1.061405429}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*} + -1.453152027\right) \cdot \left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) + 1.421413741)_*\right) \cdot \left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) + -0.284496736)_*\right) + \left(\frac{0.254829592}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right))_*\right) \cdot \left(\frac{-1}{e^{\left|x\right| \cdot \left|x\right|}}\right) + 1)_*}\right)}\]
  5. Using strategy rm
  6. Applied add-exp-log14.0

    \[\leadsto \color{blue}{e^{\log \left(\log \left(e^{(\left((\left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*} \cdot \frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) \cdot \left((\left((\left(\frac{1.061405429}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*} + -1.453152027\right) \cdot \left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) + 1.421413741)_*\right) \cdot \left(\frac{1}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right) + -0.284496736)_*\right) + \left(\frac{0.254829592}{(\left(\left|x\right|\right) \cdot 0.3275911 + 1)_*}\right))_*\right) \cdot \left(\frac{-1}{e^{\left|x\right| \cdot \left|x\right|}}\right) + 1)_*}\right)\right)}}\]

Runtime

Time bar (total: 2.5m)Debug logProfile

herbie shell --seed 2018170 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.erf"
  (- 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))