Average Error: 0.2 → 0.2
Time: 8.3s
Precision: 64
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
\[\left|1 \cdot \left(\frac{1 \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{1}{\sqrt{\pi}}\right)\right)}{21} + \frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right|\]
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|
\left|1 \cdot \left(\frac{1 \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{1}{\sqrt{\pi}}\right)\right)}{21} + \frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right|
double f(double x) {
        double r142216 = 1.0;
        double r142217 = atan2(1.0, 0.0);
        double r142218 = sqrt(r142217);
        double r142219 = r142216 / r142218;
        double r142220 = 2.0;
        double r142221 = x;
        double r142222 = fabs(r142221);
        double r142223 = r142220 * r142222;
        double r142224 = 3.0;
        double r142225 = r142220 / r142224;
        double r142226 = r142222 * r142222;
        double r142227 = r142226 * r142222;
        double r142228 = r142225 * r142227;
        double r142229 = r142223 + r142228;
        double r142230 = 5.0;
        double r142231 = r142216 / r142230;
        double r142232 = r142227 * r142222;
        double r142233 = r142232 * r142222;
        double r142234 = r142231 * r142233;
        double r142235 = r142229 + r142234;
        double r142236 = 21.0;
        double r142237 = r142216 / r142236;
        double r142238 = r142233 * r142222;
        double r142239 = r142238 * r142222;
        double r142240 = r142237 * r142239;
        double r142241 = r142235 + r142240;
        double r142242 = r142219 * r142241;
        double r142243 = fabs(r142242);
        return r142243;
}

double f(double x) {
        double r142244 = 1.0;
        double r142245 = 1.0;
        double r142246 = x;
        double r142247 = fabs(r142246);
        double r142248 = 6.0;
        double r142249 = pow(r142247, r142248);
        double r142250 = atan2(1.0, 0.0);
        double r142251 = sqrt(r142250);
        double r142252 = r142245 / r142251;
        double r142253 = r142247 * r142252;
        double r142254 = r142249 * r142253;
        double r142255 = r142245 * r142254;
        double r142256 = 21.0;
        double r142257 = r142255 / r142256;
        double r142258 = 5.0;
        double r142259 = r142245 / r142258;
        double r142260 = 3.0;
        double r142261 = pow(r142247, r142260);
        double r142262 = r142259 * r142261;
        double r142263 = r142262 * r142247;
        double r142264 = 2.0;
        double r142265 = 3.0;
        double r142266 = r142264 / r142265;
        double r142267 = r142261 * r142266;
        double r142268 = fma(r142247, r142264, r142267);
        double r142269 = fma(r142263, r142247, r142268);
        double r142270 = r142252 * r142269;
        double r142271 = r142257 + r142270;
        double r142272 = r142244 * r142271;
        double r142273 = fabs(r142272);
        return r142273;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.2

    \[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.2

    \[\leadsto \left|\frac{1}{\color{blue}{1 \cdot \sqrt{\pi}}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  4. Applied *-un-lft-identity0.2

    \[\leadsto \left|\frac{\color{blue}{1 \cdot 1}}{1 \cdot \sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  5. Applied times-frac0.2

    \[\leadsto \left|\color{blue}{\left(\frac{1}{1} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  6. Applied associate-*l*0.2

    \[\leadsto \left|\color{blue}{\frac{1}{1} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)}\right|\]
  7. Simplified0.2

    \[\leadsto \left|\frac{1}{1} \cdot \color{blue}{\left(\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\frac{1}{21}, \left({\left(\left|x\right|\right)}^{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right), \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right)}\right|\]
  8. Using strategy rm
  9. Applied fma-udef0.2

    \[\leadsto \left|\frac{1}{1} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \color{blue}{\left(\frac{1}{21} \cdot \left(\left({\left(\left|x\right|\right)}^{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) + \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)}\right)\right|\]
  10. Applied distribute-lft-in0.2

    \[\leadsto \left|\frac{1}{1} \cdot \color{blue}{\left(\frac{1}{\sqrt{\pi}} \cdot \left(\frac{1}{21} \cdot \left(\left({\left(\left|x\right|\right)}^{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right)\right) + \frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)}\right|\]
  11. Simplified0.2

    \[\leadsto \left|\frac{1}{1} \cdot \left(\color{blue}{\frac{1 \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{1}{\sqrt{\pi}}\right)\right)}{21}} + \frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right|\]
  12. Final simplification0.2

    \[\leadsto \left|1 \cdot \left(\frac{1 \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{1}{\sqrt{\pi}}\right)\right)}{21} + \frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right|\]

Reproduce

herbie shell --seed 2020100 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  :precision binary64
  (fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))