\[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: 45.5 s
Input Error: 12.1
Output Error: 10.4
Log:
Profile: 🕒
\(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 \frac{{\left({-1.453152027}^2 - {\left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)}^2\right)}^{1}}{-1.453152027 - \frac{1.061405429}{1 + \left|x\right| \cdot 0.3275911}}\right)\right)\right)\right) \cdot 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|}\]
    12.1
  2. Using strategy rm
    12.1
  3. Applied flip-+ to get
    \[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 \color{red}{\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 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 \color{blue}{\frac{{-1.453152027}^2 - {\left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)}^2}{-1.453152027 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429}}\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
    10.8
  4. Applied simplify to get
    \[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 \frac{{-1.453152027}^2 - {\left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)}^2}{\color{red}{-1.453152027 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429}}\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \leadsto 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 \frac{{-1.453152027}^2 - {\left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)}^2}{\color{blue}{-1.453152027 - \frac{1.061405429}{1 + \left|x\right| \cdot 0.3275911}}}\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
    10.8
  5. Using strategy rm
    10.8
  6. Applied pow1 to get
    \[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 \frac{\color{red}{{-1.453152027}^2 - {\left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)}^2}}{-1.453152027 - \frac{1.061405429}{1 + \left|x\right| \cdot 0.3275911}}\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \leadsto 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 \frac{\color{blue}{{\left({-1.453152027}^2 - {\left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)}^2\right)}^{1}}}{-1.453152027 - \frac{1.061405429}{1 + \left|x\right| \cdot 0.3275911}}\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
    10.4

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