Average Error: 13.8 → 13.8
Time: 7.2s
Precision: 64
\[1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
\[{e}^{\left(\log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)\right)}\]
1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
{e}^{\left(\log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)\right)}
double f(double x) {
        double r182365 = 1.0;
        double r182366 = 0.3275911;
        double r182367 = x;
        double r182368 = fabs(r182367);
        double r182369 = r182366 * r182368;
        double r182370 = r182365 + r182369;
        double r182371 = r182365 / r182370;
        double r182372 = 0.254829592;
        double r182373 = -0.284496736;
        double r182374 = 1.421413741;
        double r182375 = -1.453152027;
        double r182376 = 1.061405429;
        double r182377 = r182371 * r182376;
        double r182378 = r182375 + r182377;
        double r182379 = r182371 * r182378;
        double r182380 = r182374 + r182379;
        double r182381 = r182371 * r182380;
        double r182382 = r182373 + r182381;
        double r182383 = r182371 * r182382;
        double r182384 = r182372 + r182383;
        double r182385 = r182371 * r182384;
        double r182386 = r182368 * r182368;
        double r182387 = -r182386;
        double r182388 = exp(r182387);
        double r182389 = r182385 * r182388;
        double r182390 = r182365 - r182389;
        return r182390;
}

double f(double x) {
        double r182391 = exp(1.0);
        double r182392 = 1.0;
        double r182393 = 0.3275911;
        double r182394 = x;
        double r182395 = fabs(r182394);
        double r182396 = r182393 * r182395;
        double r182397 = r182392 + r182396;
        double r182398 = r182392 / r182397;
        double r182399 = fma(r182395, r182393, r182392);
        double r182400 = r182392 / r182399;
        double r182401 = exp(r182400);
        double r182402 = log(r182401);
        double r182403 = 1.061405429;
        double r182404 = -1.453152027;
        double r182405 = fma(r182402, r182403, r182404);
        double r182406 = 1.421413741;
        double r182407 = fma(r182398, r182405, r182406);
        double r182408 = -0.284496736;
        double r182409 = fma(r182398, r182407, r182408);
        double r182410 = 0.254829592;
        double r182411 = fma(r182398, r182409, r182410);
        double r182412 = r182395 * r182395;
        double r182413 = exp(r182412);
        double r182414 = r182411 / r182413;
        double r182415 = -r182392;
        double r182416 = r182415 / r182399;
        double r182417 = fma(r182414, r182416, r182392);
        double r182418 = log(r182417);
        double r182419 = pow(r182391, r182418);
        return r182419;
}

Error

Bits error versus x

Derivation

  1. Initial program 13.8

    \[1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\]
  2. Simplified13.8

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)}\]
  3. Using strategy rm
  4. Applied add-log-exp13.8

    \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\color{blue}{\log \left(e^{\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}}\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\]
  5. Simplified13.8

    \[\leadsto \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \color{blue}{\left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right)}, 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\]
  6. Using strategy rm
  7. Applied add-exp-log13.8

    \[\leadsto \color{blue}{e^{\log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)}}\]
  8. Using strategy rm
  9. Applied pow113.8

    \[\leadsto e^{\log \color{blue}{\left({\left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)}^{1}\right)}}\]
  10. Applied log-pow13.8

    \[\leadsto e^{\color{blue}{1 \cdot \log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)}}\]
  11. Applied exp-prod13.8

    \[\leadsto \color{blue}{{\left(e^{1}\right)}^{\left(\log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)\right)}}\]
  12. Simplified13.8

    \[\leadsto {\color{blue}{e}}^{\left(\log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)\right)}\]
  13. Final simplification13.8

    \[\leadsto {e}^{\left(\log \left(\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}, \mathsf{fma}\left(\log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right), 1.061405428999999900341322245367337018251, -1.453152027000000012790792425221297889948\right), 1.421413741000000063863240029604639858007\right), -0.2844967359999999723108032867457950487733\right), 0.2548295919999999936678136691625695675611\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}, 1\right)\right)\right)}\]

Reproduce

herbie shell --seed 2020001 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.erf"
  :precision binary64
  (- 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)))))))