Average Error: 0.2 → 0.4
Time: 36.7s
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|\frac{1}{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt[3]{\pi}}} \cdot \left(\left|x\right| \cdot \mathsf{fma}\left(\left|x\right| \cdot \left|x\right|, \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{1}{5} + \frac{\left(\left|x\right| \cdot \left|x\right|\right) \cdot 1}{21}\right), \mathsf{fma}\left(\frac{2}{3}, \left|x\right| \cdot \left|x\right|, 2\right)\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|\frac{1}{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt[3]{\pi}}} \cdot \left(\left|x\right| \cdot \mathsf{fma}\left(\left|x\right| \cdot \left|x\right|, \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{1}{5} + \frac{\left(\left|x\right| \cdot \left|x\right|\right) \cdot 1}{21}\right), \mathsf{fma}\left(\frac{2}{3}, \left|x\right| \cdot \left|x\right|, 2\right)\right)\right)\right)\right|
double f(double x) {
        double r9204201 = 1.0;
        double r9204202 = atan2(1.0, 0.0);
        double r9204203 = sqrt(r9204202);
        double r9204204 = r9204201 / r9204203;
        double r9204205 = 2.0;
        double r9204206 = x;
        double r9204207 = fabs(r9204206);
        double r9204208 = r9204205 * r9204207;
        double r9204209 = 3.0;
        double r9204210 = r9204205 / r9204209;
        double r9204211 = r9204207 * r9204207;
        double r9204212 = r9204211 * r9204207;
        double r9204213 = r9204210 * r9204212;
        double r9204214 = r9204208 + r9204213;
        double r9204215 = 5.0;
        double r9204216 = r9204201 / r9204215;
        double r9204217 = r9204212 * r9204207;
        double r9204218 = r9204217 * r9204207;
        double r9204219 = r9204216 * r9204218;
        double r9204220 = r9204214 + r9204219;
        double r9204221 = 21.0;
        double r9204222 = r9204201 / r9204221;
        double r9204223 = r9204218 * r9204207;
        double r9204224 = r9204223 * r9204207;
        double r9204225 = r9204222 * r9204224;
        double r9204226 = r9204220 + r9204225;
        double r9204227 = r9204204 * r9204226;
        double r9204228 = fabs(r9204227);
        return r9204228;
}

double f(double x) {
        double r9204229 = 1.0;
        double r9204230 = atan2(1.0, 0.0);
        double r9204231 = cbrt(r9204230);
        double r9204232 = r9204231 * r9204231;
        double r9204233 = sqrt(r9204232);
        double r9204234 = r9204229 / r9204233;
        double r9204235 = 1.0;
        double r9204236 = sqrt(r9204231);
        double r9204237 = r9204235 / r9204236;
        double r9204238 = x;
        double r9204239 = fabs(r9204238);
        double r9204240 = r9204239 * r9204239;
        double r9204241 = 5.0;
        double r9204242 = r9204235 / r9204241;
        double r9204243 = r9204240 * r9204235;
        double r9204244 = 21.0;
        double r9204245 = r9204243 / r9204244;
        double r9204246 = r9204242 + r9204245;
        double r9204247 = r9204240 * r9204246;
        double r9204248 = 2.0;
        double r9204249 = 3.0;
        double r9204250 = r9204248 / r9204249;
        double r9204251 = fma(r9204250, r9204240, r9204248);
        double r9204252 = fma(r9204240, r9204247, r9204251);
        double r9204253 = r9204239 * r9204252;
        double r9204254 = r9204237 * r9204253;
        double r9204255 = r9204234 * r9204254;
        double r9204256 = fabs(r9204255);
        return r9204256;
}

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. Simplified0.2

    \[\leadsto \color{blue}{\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left|x\right| \cdot \mathsf{fma}\left(\left|x\right| \cdot \left|x\right|, \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{1}{5} + \left(\left|x\right| \cdot \left|x\right|\right) \cdot \frac{1}{21}\right), \mathsf{fma}\left(\frac{2}{3}, \left|x\right| \cdot \left|x\right|, 2\right)\right)\right)\right|}\]
  3. Using strategy rm
  4. Applied associate-*r/0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left|x\right| \cdot \mathsf{fma}\left(\left|x\right| \cdot \left|x\right|, \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{1}{5} + \color{blue}{\frac{\left(\left|x\right| \cdot \left|x\right|\right) \cdot 1}{21}}\right), \mathsf{fma}\left(\frac{2}{3}, \left|x\right| \cdot \left|x\right|, 2\right)\right)\right)\right|\]
  5. Using strategy rm
  6. Applied add-cube-cbrt1.1

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  (fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))