\[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: 7.3 s
Input Error: 13.8
Output Error: 13.8
Log:
Profile: 🕒
\(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{\sqrt[3]{{\left(\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right)}^3}}{(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|}}\)
  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|}\]
    13.8
  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|}}}\]
    13.8
  3. Using strategy rm
    13.8
  4. Applied add-cbrt-cube to get
    \[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{\color{red}{\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 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{\color{blue}{\sqrt[3]{{\left(\frac{1}{(0.3275911 * \left(\left|x\right|\right) + 1)_*}\right)}^3}}}{(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|}}\]
    13.8

  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)))))))