1 - \left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\begin{array}{l}
\mathbf{if}\;x \le -2.6532889458594894 \cdot 10^{-17}:\\
\;\;\;\;\log \left(e^{\mathsf{fma}\left(\frac{\mathsf{fma}\left(1.42141374100000006, \frac{1}{{\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 0.25482959199999999\right) - \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \frac{1 \cdot 1.45315202700000001}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}}\right) - \frac{1 \cdot 1.0614054289999999}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{4}}\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, 1\right)}\right)\\
\mathbf{elif}\;x \le 1.27199035076703315:\\
\;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(1.0614054289999999, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{5}}, \frac{\frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)} \cdot 0.25482959199999999\right), \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right) + \mathsf{fma}\left(1.0614054289999999, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{5}}, \frac{\frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)} \cdot 0.25482959199999999\right), \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right) \cdot \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right)\right), \frac{1.45315202700000001}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{4}}, \left({\left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right)}^{3} - {\left(\mathsf{fma}\left(1.0614054289999999, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{5}}, \frac{\frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)} \cdot 0.25482959199999999\right)\right)}^{3}\right) \cdot e^{{\left(\left|x\right|\right)}^{2}}\right)}{e^{{\left(\left|x\right|\right)}^{2}} \cdot \left(\mathsf{fma}\left(1.0614054289999999, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{5}}, \frac{\frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)} \cdot 0.25482959199999999\right) \cdot \left(\mathsf{fma}\left(1.0614054289999999, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{5}}, \frac{\frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)} \cdot 0.25482959199999999\right) + \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right)\right) + \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right) \cdot \left(\mathsf{fma}\left(0.284496735999999972, \frac{1}{e^{{\left(\left|x\right|\right)}^{2}} \cdot {\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}}, 1\right) - \frac{1.42141374100000006}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}} \cdot \frac{1}{e^{{\left(\left|x\right|\right)}^{2}}}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\left(\sqrt[3]{\mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, 1.0614054289999999, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), 0.25482959199999999\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, 1.0614054289999999, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), 0.25482959199999999\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, 1.0614054289999999, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), 0.25482959199999999\right)}}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, 1\right)\\
\end{array}double f(double x) {
double r242299 = 1.0;
double r242300 = 0.3275911;
double r242301 = x;
double r242302 = fabs(r242301);
double r242303 = r242300 * r242302;
double r242304 = r242299 + r242303;
double r242305 = r242299 / r242304;
double r242306 = 0.254829592;
double r242307 = -0.284496736;
double r242308 = 1.421413741;
double r242309 = -1.453152027;
double r242310 = 1.061405429;
double r242311 = r242305 * r242310;
double r242312 = r242309 + r242311;
double r242313 = r242305 * r242312;
double r242314 = r242308 + r242313;
double r242315 = r242305 * r242314;
double r242316 = r242307 + r242315;
double r242317 = r242305 * r242316;
double r242318 = r242306 + r242317;
double r242319 = r242305 * r242318;
double r242320 = r242302 * r242302;
double r242321 = -r242320;
double r242322 = exp(r242321);
double r242323 = r242319 * r242322;
double r242324 = r242299 - r242323;
return r242324;
}
double f(double x) {
double r242325 = x;
double r242326 = -2.6532889458594894e-17;
bool r242327 = r242325 <= r242326;
double r242328 = 1.421413741;
double r242329 = 1.0;
double r242330 = 0.3275911;
double r242331 = fabs(r242325);
double r242332 = r242330 * r242331;
double r242333 = 1.0;
double r242334 = r242332 + r242333;
double r242335 = 2.0;
double r242336 = pow(r242334, r242335);
double r242337 = r242329 / r242336;
double r242338 = 0.254829592;
double r242339 = fma(r242328, r242337, r242338);
double r242340 = 0.284496736;
double r242341 = fma(r242330, r242331, r242333);
double r242342 = r242329 / r242341;
double r242343 = 1.453152027;
double r242344 = r242329 * r242343;
double r242345 = 3.0;
double r242346 = pow(r242341, r242345);
double r242347 = r242344 / r242346;
double r242348 = fma(r242340, r242342, r242347);
double r242349 = 1.061405429;
double r242350 = r242329 * r242349;
double r242351 = 4.0;
double r242352 = pow(r242341, r242351);
double r242353 = r242350 / r242352;
double r242354 = r242348 - r242353;
double r242355 = r242339 - r242354;
double r242356 = r242331 * r242331;
double r242357 = exp(r242356);
double r242358 = r242355 / r242357;
double r242359 = -r242333;
double r242360 = fma(r242331, r242330, r242333);
double r242361 = r242359 / r242360;
double r242362 = fma(r242358, r242361, r242333);
double r242363 = exp(r242362);
double r242364 = log(r242363);
double r242365 = 1.2719903507670332;
bool r242366 = r242325 <= r242365;
double r242367 = pow(r242331, r242335);
double r242368 = exp(r242367);
double r242369 = 5.0;
double r242370 = pow(r242334, r242369);
double r242371 = r242368 * r242370;
double r242372 = r242329 / r242371;
double r242373 = r242329 / r242368;
double r242374 = r242373 / r242341;
double r242375 = r242374 * r242338;
double r242376 = fma(r242349, r242372, r242375);
double r242377 = r242368 * r242336;
double r242378 = r242329 / r242377;
double r242379 = fma(r242340, r242378, r242333);
double r242380 = r242328 / r242346;
double r242381 = r242380 * r242373;
double r242382 = r242379 - r242381;
double r242383 = r242382 + r242376;
double r242384 = r242382 * r242382;
double r242385 = fma(r242376, r242383, r242384);
double r242386 = r242343 / r242352;
double r242387 = pow(r242382, r242345);
double r242388 = pow(r242376, r242345);
double r242389 = r242387 - r242388;
double r242390 = r242389 * r242368;
double r242391 = fma(r242385, r242386, r242390);
double r242392 = r242376 + r242382;
double r242393 = r242376 * r242392;
double r242394 = r242393 + r242384;
double r242395 = r242368 * r242394;
double r242396 = r242391 / r242395;
double r242397 = r242333 + r242332;
double r242398 = r242333 / r242397;
double r242399 = -1.453152027;
double r242400 = fma(r242398, r242349, r242399);
double r242401 = fma(r242398, r242400, r242328);
double r242402 = -0.284496736;
double r242403 = fma(r242398, r242401, r242402);
double r242404 = fma(r242398, r242403, r242338);
double r242405 = cbrt(r242404);
double r242406 = r242405 * r242405;
double r242407 = r242406 * r242405;
double r242408 = r242407 / r242357;
double r242409 = fma(r242408, r242361, r242333);
double r242410 = r242366 ? r242396 : r242409;
double r242411 = r242327 ? r242364 : r242410;
return r242411;
}



Bits error versus x
if x < -2.6532889458594894e-17Initial program 1.1
Simplified1.1
Taylor expanded around 0 1.2
Simplified1.1
rmApplied add-log-exp1.1
if -2.6532889458594894e-17 < x < 1.2719903507670332Initial program 27.9
Simplified27.9
Taylor expanded around 0 29.4
Simplified27.9
Taylor expanded around 0 27.9
Simplified27.9
rmApplied flip3--30.1
Applied frac-add30.2
Simplified24.3
Simplified24.3
if 1.2719903507670332 < x Initial program 0
Simplified0
rmApplied add-cube-cbrt0
Final simplification11.7
herbie shell --seed 2020025 +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)))))))