\[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|}\]
Test:
Jmat.Real.erf
Bits:
128 bits
Bits error versus x
Time: 9.5 s
Input Error: 11.9
Output Error: 12.9
Log:
Profile: 🕒
\({\left(\sqrt[3]{1 - \frac{(\left((\left(\frac{1.061405429}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -1.453152027\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{1.421413741}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -0.284496736\right))_*\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{0.254829592}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right))_*}{e^{\left|x\right| \cdot \left|x\right|}}}\right)}^3\)
  1. Started with
    \[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|}\]
    11.9
  2. Applied simplify to get
    \[\color{red}{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|}} \leadsto \color{blue}{1 - \frac{(\left((\left(\frac{1.061405429}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -1.453152027\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{1.421413741}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -0.284496736\right))_*\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{0.254829592}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right))_*}{e^{\left|x\right| \cdot \left|x\right|}}}\]
    12.9
  3. Using strategy rm
    12.9
  4. Applied add-cube-cbrt to get
    \[\color{red}{1 - \frac{(\left((\left(\frac{1.061405429}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -1.453152027\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{1.421413741}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -0.284496736\right))_*\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{0.254829592}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right))_*}{e^{\left|x\right| \cdot \left|x\right|}}} \leadsto \color{blue}{{\left(\sqrt[3]{1 - \frac{(\left((\left(\frac{1.061405429}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -1.453152027\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{1.421413741}{(0.3275911 * \left(\left|x\right|\right) + 1)_*} + -0.284496736\right))_*\right) * \left(\frac{\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right) + \left(\frac{0.254829592}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right))_*}{e^{\left|x\right| \cdot \left|x\right|}}}\right)}^3}\]
    12.9

  5. Removed slow pow expressions

Original test:


(lambda ((x default))
  #: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)))))))