Jmat.Real.erf

Percentage Accurate: 79.2% → 99.9%
Time: 9.8s
Alternatives: 9
Speedup: 12.5×

Specification

?
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{1}{1 + 0.3275911 \cdot \left|x\right|}\\ 1 - \left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))))
   (-
    1.0
    (*
     (*
      t_0
      (+
       0.254829592
       (*
        t_0
        (+
         -0.284496736
         (*
          t_0
          (+ 1.421413741 (* t_0 (+ -1.453152027 (* t_0 1.061405429)))))))))
     (exp (- (* (fabs x) (fabs x))))))))
double code(double x) {
	double t_0 = 1.0 / (1.0 + (0.3275911 * fabs(x)));
	return 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp(-(fabs(x) * fabs(x))));
}
real(8) function code(x)
    real(8), intent (in) :: x
    real(8) :: t_0
    t_0 = 1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))
    code = 1.0d0 - ((t_0 * (0.254829592d0 + (t_0 * ((-0.284496736d0) + (t_0 * (1.421413741d0 + (t_0 * ((-1.453152027d0) + (t_0 * 1.061405429d0))))))))) * exp(-(abs(x) * abs(x))))
end function
public static double code(double x) {
	double t_0 = 1.0 / (1.0 + (0.3275911 * Math.abs(x)));
	return 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * Math.exp(-(Math.abs(x) * Math.abs(x))));
}
def code(x):
	t_0 = 1.0 / (1.0 + (0.3275911 * math.fabs(x)))
	return 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * math.exp(-(math.fabs(x) * math.fabs(x))))
function code(x)
	t_0 = Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x))))
	return Float64(1.0 - Float64(Float64(t_0 * Float64(0.254829592 + Float64(t_0 * Float64(-0.284496736 + Float64(t_0 * Float64(1.421413741 + Float64(t_0 * Float64(-1.453152027 + Float64(t_0 * 1.061405429))))))))) * exp(Float64(-Float64(abs(x) * abs(x))))))
end
function tmp = code(x)
	t_0 = 1.0 / (1.0 + (0.3275911 * abs(x)));
	tmp = 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp(-(abs(x) * abs(x))));
end
code[x_] := Block[{t$95$0 = N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(1.0 - N[(N[(t$95$0 * N[(0.254829592 + N[(t$95$0 * N[(-0.284496736 + N[(t$95$0 * N[(1.421413741 + N[(t$95$0 * N[(-1.453152027 + N[(t$95$0 * 1.061405429), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[(-N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{1}{1 + 0.3275911 \cdot \left|x\right|}\\
1 - \left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\end{array}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 9 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 79.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{1}{1 + 0.3275911 \cdot \left|x\right|}\\ 1 - \left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))))
   (-
    1.0
    (*
     (*
      t_0
      (+
       0.254829592
       (*
        t_0
        (+
         -0.284496736
         (*
          t_0
          (+ 1.421413741 (* t_0 (+ -1.453152027 (* t_0 1.061405429)))))))))
     (exp (- (* (fabs x) (fabs x))))))))
double code(double x) {
	double t_0 = 1.0 / (1.0 + (0.3275911 * fabs(x)));
	return 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp(-(fabs(x) * fabs(x))));
}
real(8) function code(x)
    real(8), intent (in) :: x
    real(8) :: t_0
    t_0 = 1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))
    code = 1.0d0 - ((t_0 * (0.254829592d0 + (t_0 * ((-0.284496736d0) + (t_0 * (1.421413741d0 + (t_0 * ((-1.453152027d0) + (t_0 * 1.061405429d0))))))))) * exp(-(abs(x) * abs(x))))
end function
public static double code(double x) {
	double t_0 = 1.0 / (1.0 + (0.3275911 * Math.abs(x)));
	return 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * Math.exp(-(Math.abs(x) * Math.abs(x))));
}
def code(x):
	t_0 = 1.0 / (1.0 + (0.3275911 * math.fabs(x)))
	return 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * math.exp(-(math.fabs(x) * math.fabs(x))))
function code(x)
	t_0 = Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x))))
	return Float64(1.0 - Float64(Float64(t_0 * Float64(0.254829592 + Float64(t_0 * Float64(-0.284496736 + Float64(t_0 * Float64(1.421413741 + Float64(t_0 * Float64(-1.453152027 + Float64(t_0 * 1.061405429))))))))) * exp(Float64(-Float64(abs(x) * abs(x))))))
end
function tmp = code(x)
	t_0 = 1.0 / (1.0 + (0.3275911 * abs(x)));
	tmp = 1.0 - ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp(-(abs(x) * abs(x))));
end
code[x_] := Block[{t$95$0 = N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(1.0 - N[(N[(t$95$0 * N[(0.254829592 + N[(t$95$0 * N[(-0.284496736 + N[(t$95$0 * N[(1.421413741 + N[(t$95$0 * N[(-1.453152027 + N[(t$95$0 * 1.061405429), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[(-N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{1}{1 + 0.3275911 \cdot \left|x\right|}\\
1 - \left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\end{array}
\end{array}

Alternative 1: 99.9% accurate, 1.2× speedup?

\[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} \mathbf{if}\;\left|x\_m\right| \leq 2 \cdot 10^{-5}:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(e^{\left(-x\_m\right) \cdot x\_m}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)}}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)}}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x\_m, -1\right)}, 1\right)\\ \end{array} \end{array} \]
x_m = (fabs.f64 x)
(FPCore (x_m)
 :precision binary64
 (if (<= (fabs x_m) 2e-5)
   (fma
    (fma
     (- (* -0.37545125292247583 x_m) 0.00011824294398844343)
     x_m
     1.128386358070218)
    x_m
    1e-9)
   (fma
    (exp (* (- x_m) x_m))
    (/
     (+
      (/
       (+
        (/
         (+
          1.421413741
          (/
           (+ -1.453152027 (/ 1.061405429 (fma 0.3275911 x_m 1.0)))
           (fma 0.3275911 x_m 1.0)))
         (fma 0.3275911 x_m 1.0))
        -0.284496736)
       (fma 0.3275911 x_m 1.0))
      0.254829592)
     (fma -0.3275911 x_m -1.0))
    1.0)))
x_m = fabs(x);
double code(double x_m) {
	double tmp;
	if (fabs(x_m) <= 2e-5) {
		tmp = fma(fma(((-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
	} else {
		tmp = fma(exp((-x_m * x_m)), ((((((1.421413741 + ((-1.453152027 + (1.061405429 / fma(0.3275911, x_m, 1.0))) / fma(0.3275911, x_m, 1.0))) / fma(0.3275911, x_m, 1.0)) + -0.284496736) / fma(0.3275911, x_m, 1.0)) + 0.254829592) / fma(-0.3275911, x_m, -1.0)), 1.0);
	}
	return tmp;
}
x_m = abs(x)
function code(x_m)
	tmp = 0.0
	if (abs(x_m) <= 2e-5)
		tmp = fma(fma(Float64(Float64(-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
	else
		tmp = fma(exp(Float64(Float64(-x_m) * x_m)), Float64(Float64(Float64(Float64(Float64(Float64(1.421413741 + Float64(Float64(-1.453152027 + Float64(1.061405429 / fma(0.3275911, x_m, 1.0))) / fma(0.3275911, x_m, 1.0))) / fma(0.3275911, x_m, 1.0)) + -0.284496736) / fma(0.3275911, x_m, 1.0)) + 0.254829592) / fma(-0.3275911, x_m, -1.0)), 1.0);
	end
	return tmp
end
x_m = N[Abs[x], $MachinePrecision]
code[x$95$m_] := If[LessEqual[N[Abs[x$95$m], $MachinePrecision], 2e-5], N[(N[(N[(N[(-0.37545125292247583 * x$95$m), $MachinePrecision] - 0.00011824294398844343), $MachinePrecision] * x$95$m + 1.128386358070218), $MachinePrecision] * x$95$m + 1e-9), $MachinePrecision], N[(N[Exp[N[((-x$95$m) * x$95$m), $MachinePrecision]], $MachinePrecision] * N[(N[(N[(N[(N[(N[(1.421413741 + N[(N[(-1.453152027 + N[(1.061405429 / N[(0.3275911 * x$95$m + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.3275911 * x$95$m + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.3275911 * x$95$m + 1.0), $MachinePrecision]), $MachinePrecision] + -0.284496736), $MachinePrecision] / N[(0.3275911 * x$95$m + 1.0), $MachinePrecision]), $MachinePrecision] + 0.254829592), $MachinePrecision] / N[(-0.3275911 * x$95$m + -1.0), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]]
\begin{array}{l}
x_m = \left|x\right|

\\
\begin{array}{l}
\mathbf{if}\;\left|x\_m\right| \leq 2 \cdot 10^{-5}:\\
\;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(e^{\left(-x\_m\right) \cdot x\_m}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)}}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)}}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x\_m, -1\right)}, 1\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (fabs.f64 x) < 2.00000000000000016e-5

    1. Initial program 57.9%

      \[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|} \]
    2. Add Preprocessing
    3. Applied rewrites56.0%

      \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
    4. Applied rewrites56.0%

      \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
    5. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\frac{1}{1000000000} + x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right)} \]
    6. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) + \frac{1}{1000000000}} \]
      2. *-commutativeN/A

        \[\leadsto \color{blue}{\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) \cdot x} + \frac{1}{1000000000} \]
      3. lower-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right), x, \frac{1}{1000000000}\right)} \]
      4. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) + \frac{564193179035109}{500000000000000}}, x, \frac{1}{1000000000}\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) \cdot x} + \frac{564193179035109}{500000000000000}, x, \frac{1}{1000000000}\right) \]
      6. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}, x, \frac{564193179035109}{500000000000000}\right)}, x, \frac{1}{1000000000}\right) \]
      7. lower--.f64N/A

        \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}}, x, \frac{564193179035109}{500000000000000}\right), x, \frac{1}{1000000000}\right) \]
      8. lower-*.f6495.8

        \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{-0.37545125292247583 \cdot x} - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right) \]
    7. Applied rewrites95.8%

      \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right)} \]

    if 2.00000000000000016e-5 < (fabs.f64 x)

    1. Initial program 100.0%

      \[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|} \]
    2. Add Preprocessing
    3. Applied rewrites100.0%

      \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
    4. Applied rewrites100.0%

      \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
    5. Step-by-step derivation
      1. lift-pow.f64N/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{{\left(e^{x}\right)}^{\left(-x\right)}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
      2. lift-exp.f64N/A

        \[\leadsto \mathsf{fma}\left({\color{blue}{\left(e^{x}\right)}}^{\left(-x\right)}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
      3. pow-expN/A

        \[\leadsto \mathsf{fma}\left(\color{blue}{e^{x \cdot \left(-x\right)}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(e^{\color{blue}{\left(-x\right) \cdot x}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
      5. lift-*.f64N/A

        \[\leadsto \mathsf{fma}\left(e^{\color{blue}{\left(-x\right) \cdot x}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
      6. lift-exp.f64100.0

        \[\leadsto \mathsf{fma}\left(\color{blue}{e^{\left(-x\right) \cdot x}}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right) \]
    6. Applied rewrites100.0%

      \[\leadsto \mathsf{fma}\left(\color{blue}{e^{\left(-x\right) \cdot x}}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 2: 99.3% accurate, 0.4× speedup?

\[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} t_0 := {\left(1 + 0.3275911 \cdot \left|x\_m\right|\right)}^{-1}\\ \mathbf{if}\;\left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{\left(-x\_m\right) \cdot x\_m} \leq 5 \cdot 10^{-5}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(1.128386358070218, x\_m, 10^{-9}\right)\\ \end{array} \end{array} \]
x_m = (fabs.f64 x)
(FPCore (x_m)
 :precision binary64
 (let* ((t_0 (pow (+ 1.0 (* 0.3275911 (fabs x_m))) -1.0)))
   (if (<=
        (*
         (*
          t_0
          (+
           0.254829592
           (*
            t_0
            (+
             -0.284496736
             (*
              t_0
              (+ 1.421413741 (* t_0 (+ -1.453152027 (* t_0 1.061405429)))))))))
         (exp (* (- x_m) x_m)))
        5e-5)
     1.0
     (fma 1.128386358070218 x_m 1e-9))))
x_m = fabs(x);
double code(double x_m) {
	double t_0 = pow((1.0 + (0.3275911 * fabs(x_m))), -1.0);
	double tmp;
	if (((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp((-x_m * x_m))) <= 5e-5) {
		tmp = 1.0;
	} else {
		tmp = fma(1.128386358070218, x_m, 1e-9);
	}
	return tmp;
}
x_m = abs(x)
function code(x_m)
	t_0 = Float64(1.0 + Float64(0.3275911 * abs(x_m))) ^ -1.0
	tmp = 0.0
	if (Float64(Float64(t_0 * Float64(0.254829592 + Float64(t_0 * Float64(-0.284496736 + Float64(t_0 * Float64(1.421413741 + Float64(t_0 * Float64(-1.453152027 + Float64(t_0 * 1.061405429))))))))) * exp(Float64(Float64(-x_m) * x_m))) <= 5e-5)
		tmp = 1.0;
	else
		tmp = fma(1.128386358070218, x_m, 1e-9);
	end
	return tmp
end
x_m = N[Abs[x], $MachinePrecision]
code[x$95$m_] := Block[{t$95$0 = N[Power[N[(1.0 + N[(0.3275911 * N[Abs[x$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision]}, If[LessEqual[N[(N[(t$95$0 * N[(0.254829592 + N[(t$95$0 * N[(-0.284496736 + N[(t$95$0 * N[(1.421413741 + N[(t$95$0 * N[(-1.453152027 + N[(t$95$0 * 1.061405429), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[N[((-x$95$m) * x$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 5e-5], 1.0, N[(1.128386358070218 * x$95$m + 1e-9), $MachinePrecision]]]
\begin{array}{l}
x_m = \left|x\right|

\\
\begin{array}{l}
t_0 := {\left(1 + 0.3275911 \cdot \left|x\_m\right|\right)}^{-1}\\
\mathbf{if}\;\left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{\left(-x\_m\right) \cdot x\_m} \leq 5 \cdot 10^{-5}:\\
\;\;\;\;1\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(1.128386358070218, x\_m, 10^{-9}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 31853699/125000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -8890523/31250000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 1421413741/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -1453152027/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) #s(literal 1061405429/1000000000 binary64)))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) < 5.00000000000000024e-5

    1. Initial program 100.0%

      \[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|} \]
    2. Add Preprocessing
    3. Applied rewrites100.0%

      \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
    4. Taylor expanded in x around inf

      \[\leadsto \color{blue}{1} \]
    5. Step-by-step derivation
      1. Applied rewrites99.5%

        \[\leadsto \color{blue}{1} \]

      if 5.00000000000000024e-5 < (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 31853699/125000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -8890523/31250000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 1421413741/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -1453152027/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) #s(literal 1061405429/1000000000 binary64)))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))

      1. Initial program 58.1%

        \[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|} \]
      2. Add Preprocessing
      3. Applied rewrites55.8%

        \[\leadsto \color{blue}{\frac{1 - {\left(\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{{\left(e^{x}\right)}^{x} \cdot \mathsf{fma}\left(x, 0.3275911, 1\right)}\right)}^{2}}{\mathsf{fma}\left({\left(e^{x}\right)}^{x}, \frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}, 1\right)}} \]
      4. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{1}{1000000000} + \frac{564193179035109}{500000000000000} \cdot x} \]
      5. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto \color{blue}{\frac{564193179035109}{500000000000000} \cdot x + \frac{1}{1000000000}} \]
        2. lower-fma.f6494.8

          \[\leadsto \color{blue}{\mathsf{fma}\left(1.128386358070218, x, 10^{-9}\right)} \]
      6. Applied rewrites94.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(1.128386358070218, x, 10^{-9}\right)} \]
    6. Recombined 2 regimes into one program.
    7. Final simplification97.0%

      \[\leadsto \begin{array}{l} \mathbf{if}\;\left({\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(0.254829592 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(-0.284496736 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(1.421413741 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(-1.453152027 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{\left(-x\right) \cdot x} \leq 5 \cdot 10^{-5}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(1.128386358070218, x, 10^{-9}\right)\\ \end{array} \]
    8. Add Preprocessing

    Alternative 3: 97.6% accurate, 0.4× speedup?

    \[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} t_0 := {\left(1 + 0.3275911 \cdot \left|x\_m\right|\right)}^{-1}\\ \mathbf{if}\;\left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{\left(-x\_m\right) \cdot x\_m} \leq 0.98:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;10^{-9}\\ \end{array} \end{array} \]
    x_m = (fabs.f64 x)
    (FPCore (x_m)
     :precision binary64
     (let* ((t_0 (pow (+ 1.0 (* 0.3275911 (fabs x_m))) -1.0)))
       (if (<=
            (*
             (*
              t_0
              (+
               0.254829592
               (*
                t_0
                (+
                 -0.284496736
                 (*
                  t_0
                  (+ 1.421413741 (* t_0 (+ -1.453152027 (* t_0 1.061405429)))))))))
             (exp (* (- x_m) x_m)))
            0.98)
         1.0
         1e-9)))
    x_m = fabs(x);
    double code(double x_m) {
    	double t_0 = pow((1.0 + (0.3275911 * fabs(x_m))), -1.0);
    	double tmp;
    	if (((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp((-x_m * x_m))) <= 0.98) {
    		tmp = 1.0;
    	} else {
    		tmp = 1e-9;
    	}
    	return tmp;
    }
    
    x_m = abs(x)
    real(8) function code(x_m)
        real(8), intent (in) :: x_m
        real(8) :: t_0
        real(8) :: tmp
        t_0 = (1.0d0 + (0.3275911d0 * abs(x_m))) ** (-1.0d0)
        if (((t_0 * (0.254829592d0 + (t_0 * ((-0.284496736d0) + (t_0 * (1.421413741d0 + (t_0 * ((-1.453152027d0) + (t_0 * 1.061405429d0))))))))) * exp((-x_m * x_m))) <= 0.98d0) then
            tmp = 1.0d0
        else
            tmp = 1d-9
        end if
        code = tmp
    end function
    
    x_m = Math.abs(x);
    public static double code(double x_m) {
    	double t_0 = Math.pow((1.0 + (0.3275911 * Math.abs(x_m))), -1.0);
    	double tmp;
    	if (((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * Math.exp((-x_m * x_m))) <= 0.98) {
    		tmp = 1.0;
    	} else {
    		tmp = 1e-9;
    	}
    	return tmp;
    }
    
    x_m = math.fabs(x)
    def code(x_m):
    	t_0 = math.pow((1.0 + (0.3275911 * math.fabs(x_m))), -1.0)
    	tmp = 0
    	if ((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * math.exp((-x_m * x_m))) <= 0.98:
    		tmp = 1.0
    	else:
    		tmp = 1e-9
    	return tmp
    
    x_m = abs(x)
    function code(x_m)
    	t_0 = Float64(1.0 + Float64(0.3275911 * abs(x_m))) ^ -1.0
    	tmp = 0.0
    	if (Float64(Float64(t_0 * Float64(0.254829592 + Float64(t_0 * Float64(-0.284496736 + Float64(t_0 * Float64(1.421413741 + Float64(t_0 * Float64(-1.453152027 + Float64(t_0 * 1.061405429))))))))) * exp(Float64(Float64(-x_m) * x_m))) <= 0.98)
    		tmp = 1.0;
    	else
    		tmp = 1e-9;
    	end
    	return tmp
    end
    
    x_m = abs(x);
    function tmp_2 = code(x_m)
    	t_0 = (1.0 + (0.3275911 * abs(x_m))) ^ -1.0;
    	tmp = 0.0;
    	if (((t_0 * (0.254829592 + (t_0 * (-0.284496736 + (t_0 * (1.421413741 + (t_0 * (-1.453152027 + (t_0 * 1.061405429))))))))) * exp((-x_m * x_m))) <= 0.98)
    		tmp = 1.0;
    	else
    		tmp = 1e-9;
    	end
    	tmp_2 = tmp;
    end
    
    x_m = N[Abs[x], $MachinePrecision]
    code[x$95$m_] := Block[{t$95$0 = N[Power[N[(1.0 + N[(0.3275911 * N[Abs[x$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision]}, If[LessEqual[N[(N[(t$95$0 * N[(0.254829592 + N[(t$95$0 * N[(-0.284496736 + N[(t$95$0 * N[(1.421413741 + N[(t$95$0 * N[(-1.453152027 + N[(t$95$0 * 1.061405429), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[N[((-x$95$m) * x$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 0.98], 1.0, 1e-9]]
    
    \begin{array}{l}
    x_m = \left|x\right|
    
    \\
    \begin{array}{l}
    t_0 := {\left(1 + 0.3275911 \cdot \left|x\_m\right|\right)}^{-1}\\
    \mathbf{if}\;\left(t\_0 \cdot \left(0.254829592 + t\_0 \cdot \left(-0.284496736 + t\_0 \cdot \left(1.421413741 + t\_0 \cdot \left(-1.453152027 + t\_0 \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{\left(-x\_m\right) \cdot x\_m} \leq 0.98:\\
    \;\;\;\;1\\
    
    \mathbf{else}:\\
    \;\;\;\;10^{-9}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 31853699/125000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -8890523/31250000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 1421413741/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -1453152027/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) #s(literal 1061405429/1000000000 binary64)))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) < 0.97999999999999998

      1. Initial program 100.0%

        \[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|} \]
      2. Add Preprocessing
      3. Applied rewrites100.0%

        \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
      4. Taylor expanded in x around inf

        \[\leadsto \color{blue}{1} \]
      5. Step-by-step derivation
        1. Applied rewrites98.8%

          \[\leadsto \color{blue}{1} \]

        if 0.97999999999999998 < (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 31853699/125000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -8890523/31250000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal 1421413741/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) (+.f64 #s(literal -1453152027/1000000000 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3275911/10000000 binary64) (fabs.f64 x)))) #s(literal 1061405429/1000000000 binary64)))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))

        1. Initial program 57.9%

          \[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|} \]
        2. Add Preprocessing
        3. Applied rewrites56.0%

          \[\leadsto \color{blue}{\frac{1 - {\left(\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{{\left(e^{x}\right)}^{x} \cdot \mathsf{fma}\left(x, 0.3275911, 1\right)}\right)}^{2}}{\mathsf{fma}\left({\left(e^{x}\right)}^{x}, \frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}, 1\right)}} \]
        4. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{1}{1000000000}} \]
        5. Step-by-step derivation
          1. Applied rewrites92.9%

            \[\leadsto \color{blue}{10^{-9}} \]
        6. Recombined 2 regimes into one program.
        7. Final simplification95.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left({\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(0.254829592 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(-0.284496736 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(1.421413741 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot \left(-1.453152027 + {\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{-1} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{\left(-x\right) \cdot x} \leq 0.98:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;10^{-9}\\ \end{array} \]
        8. Add Preprocessing

        Alternative 4: 99.6% accurate, 1.5× speedup?

        \[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(e^{\left(-x\_m\right) \cdot x\_m}, \frac{\frac{\frac{1.029667143}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x\_m, -1\right)}, 1\right)\\ \end{array} \end{array} \]
        x_m = (fabs.f64 x)
        (FPCore (x_m)
         :precision binary64
         (if (<= (fabs x_m) 0.1)
           (fma
            (fma
             (- (* -0.37545125292247583 x_m) 0.00011824294398844343)
             x_m
             1.128386358070218)
            x_m
            1e-9)
           (fma
            (exp (* (- x_m) x_m))
            (/
             (+
              (/
               (+ (/ 1.029667143 (fma 0.3275911 x_m 1.0)) -0.284496736)
               (fma 0.3275911 x_m 1.0))
              0.254829592)
             (fma -0.3275911 x_m -1.0))
            1.0)))
        x_m = fabs(x);
        double code(double x_m) {
        	double tmp;
        	if (fabs(x_m) <= 0.1) {
        		tmp = fma(fma(((-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
        	} else {
        		tmp = fma(exp((-x_m * x_m)), (((((1.029667143 / fma(0.3275911, x_m, 1.0)) + -0.284496736) / fma(0.3275911, x_m, 1.0)) + 0.254829592) / fma(-0.3275911, x_m, -1.0)), 1.0);
        	}
        	return tmp;
        }
        
        x_m = abs(x)
        function code(x_m)
        	tmp = 0.0
        	if (abs(x_m) <= 0.1)
        		tmp = fma(fma(Float64(Float64(-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
        	else
        		tmp = fma(exp(Float64(Float64(-x_m) * x_m)), Float64(Float64(Float64(Float64(Float64(1.029667143 / fma(0.3275911, x_m, 1.0)) + -0.284496736) / fma(0.3275911, x_m, 1.0)) + 0.254829592) / fma(-0.3275911, x_m, -1.0)), 1.0);
        	end
        	return tmp
        end
        
        x_m = N[Abs[x], $MachinePrecision]
        code[x$95$m_] := If[LessEqual[N[Abs[x$95$m], $MachinePrecision], 0.1], N[(N[(N[(N[(-0.37545125292247583 * x$95$m), $MachinePrecision] - 0.00011824294398844343), $MachinePrecision] * x$95$m + 1.128386358070218), $MachinePrecision] * x$95$m + 1e-9), $MachinePrecision], N[(N[Exp[N[((-x$95$m) * x$95$m), $MachinePrecision]], $MachinePrecision] * N[(N[(N[(N[(N[(1.029667143 / N[(0.3275911 * x$95$m + 1.0), $MachinePrecision]), $MachinePrecision] + -0.284496736), $MachinePrecision] / N[(0.3275911 * x$95$m + 1.0), $MachinePrecision]), $MachinePrecision] + 0.254829592), $MachinePrecision] / N[(-0.3275911 * x$95$m + -1.0), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]]
        
        \begin{array}{l}
        x_m = \left|x\right|
        
        \\
        \begin{array}{l}
        \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\
        \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\
        
        \mathbf{else}:\\
        \;\;\;\;\mathsf{fma}\left(e^{\left(-x\_m\right) \cdot x\_m}, \frac{\frac{\frac{1.029667143}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x\_m, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x\_m, -1\right)}, 1\right)\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if (fabs.f64 x) < 0.10000000000000001

          1. Initial program 58.1%

            \[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|} \]
          2. Add Preprocessing
          3. Applied rewrites56.3%

            \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
          4. Applied rewrites56.4%

            \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
          5. Taylor expanded in x around 0

            \[\leadsto \color{blue}{\frac{1}{1000000000} + x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right)} \]
          6. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \color{blue}{x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) + \frac{1}{1000000000}} \]
            2. *-commutativeN/A

              \[\leadsto \color{blue}{\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) \cdot x} + \frac{1}{1000000000} \]
            3. lower-fma.f64N/A

              \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right), x, \frac{1}{1000000000}\right)} \]
            4. +-commutativeN/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) + \frac{564193179035109}{500000000000000}}, x, \frac{1}{1000000000}\right) \]
            5. *-commutativeN/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) \cdot x} + \frac{564193179035109}{500000000000000}, x, \frac{1}{1000000000}\right) \]
            6. lower-fma.f64N/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}, x, \frac{564193179035109}{500000000000000}\right)}, x, \frac{1}{1000000000}\right) \]
            7. lower--.f64N/A

              \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}}, x, \frac{564193179035109}{500000000000000}\right), x, \frac{1}{1000000000}\right) \]
            8. lower-*.f6495.4

              \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{-0.37545125292247583 \cdot x} - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right) \]
          7. Applied rewrites95.4%

            \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right)} \]

          if 0.10000000000000001 < (fabs.f64 x)

          1. Initial program 100.0%

            \[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|} \]
          2. Add Preprocessing
          3. Applied rewrites100.0%

            \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
          4. Applied rewrites100.0%

            \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
          5. Step-by-step derivation
            1. lift-pow.f64N/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{{\left(e^{x}\right)}^{\left(-x\right)}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
            2. lift-exp.f64N/A

              \[\leadsto \mathsf{fma}\left({\color{blue}{\left(e^{x}\right)}}^{\left(-x\right)}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
            3. pow-expN/A

              \[\leadsto \mathsf{fma}\left(\color{blue}{e^{x \cdot \left(-x\right)}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
            4. *-commutativeN/A

              \[\leadsto \mathsf{fma}\left(e^{\color{blue}{\left(-x\right) \cdot x}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
            5. lift-*.f64N/A

              \[\leadsto \mathsf{fma}\left(e^{\color{blue}{\left(-x\right) \cdot x}}, \frac{\frac{\frac{\frac{1421413741}{1000000000} + \frac{\frac{-1453152027}{1000000000} + \frac{\frac{1061405429}{1000000000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
            6. lift-exp.f64100.0

              \[\leadsto \mathsf{fma}\left(\color{blue}{e^{\left(-x\right) \cdot x}}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right) \]
          6. Applied rewrites100.0%

            \[\leadsto \mathsf{fma}\left(\color{blue}{e^{\left(-x\right) \cdot x}}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right) \]
          7. Taylor expanded in x around 0

            \[\leadsto \mathsf{fma}\left(e^{\left(-x\right) \cdot x}, \frac{\frac{\frac{\color{blue}{\frac{1029667143}{1000000000}}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{-8890523}{31250000}}{\mathsf{fma}\left(\frac{3275911}{10000000}, x, 1\right)} + \frac{31853699}{125000000}}{\mathsf{fma}\left(\frac{-3275911}{10000000}, x, -1\right)}, 1\right) \]
          8. Step-by-step derivation
            1. Applied rewrites99.6%

              \[\leadsto \mathsf{fma}\left(e^{\left(-x\right) \cdot x}, \frac{\frac{\frac{\color{blue}{1.029667143}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right) \]
          9. Recombined 2 regimes into one program.
          10. Add Preprocessing

          Alternative 5: 99.6% accurate, 1.8× speedup?

          \[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\ \mathbf{else}:\\ \;\;\;\;1 - \frac{e^{\left(-x\_m\right) \cdot x\_m}}{\mathsf{fma}\left(\left|x\_m\right|, 0.3275911, 1\right)} \cdot 0.254829592\\ \end{array} \end{array} \]
          x_m = (fabs.f64 x)
          (FPCore (x_m)
           :precision binary64
           (if (<= (fabs x_m) 0.1)
             (fma
              (fma
               (- (* -0.37545125292247583 x_m) 0.00011824294398844343)
               x_m
               1.128386358070218)
              x_m
              1e-9)
             (-
              1.0
              (* (/ (exp (* (- x_m) x_m)) (fma (fabs x_m) 0.3275911 1.0)) 0.254829592))))
          x_m = fabs(x);
          double code(double x_m) {
          	double tmp;
          	if (fabs(x_m) <= 0.1) {
          		tmp = fma(fma(((-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
          	} else {
          		tmp = 1.0 - ((exp((-x_m * x_m)) / fma(fabs(x_m), 0.3275911, 1.0)) * 0.254829592);
          	}
          	return tmp;
          }
          
          x_m = abs(x)
          function code(x_m)
          	tmp = 0.0
          	if (abs(x_m) <= 0.1)
          		tmp = fma(fma(Float64(Float64(-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
          	else
          		tmp = Float64(1.0 - Float64(Float64(exp(Float64(Float64(-x_m) * x_m)) / fma(abs(x_m), 0.3275911, 1.0)) * 0.254829592));
          	end
          	return tmp
          end
          
          x_m = N[Abs[x], $MachinePrecision]
          code[x$95$m_] := If[LessEqual[N[Abs[x$95$m], $MachinePrecision], 0.1], N[(N[(N[(N[(-0.37545125292247583 * x$95$m), $MachinePrecision] - 0.00011824294398844343), $MachinePrecision] * x$95$m + 1.128386358070218), $MachinePrecision] * x$95$m + 1e-9), $MachinePrecision], N[(1.0 - N[(N[(N[Exp[N[((-x$95$m) * x$95$m), $MachinePrecision]], $MachinePrecision] / N[(N[Abs[x$95$m], $MachinePrecision] * 0.3275911 + 1.0), $MachinePrecision]), $MachinePrecision] * 0.254829592), $MachinePrecision]), $MachinePrecision]]
          
          \begin{array}{l}
          x_m = \left|x\right|
          
          \\
          \begin{array}{l}
          \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\
          \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;1 - \frac{e^{\left(-x\_m\right) \cdot x\_m}}{\mathsf{fma}\left(\left|x\_m\right|, 0.3275911, 1\right)} \cdot 0.254829592\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (fabs.f64 x) < 0.10000000000000001

            1. Initial program 58.1%

              \[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|} \]
            2. Add Preprocessing
            3. Applied rewrites56.3%

              \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
            4. Applied rewrites56.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
            5. Taylor expanded in x around 0

              \[\leadsto \color{blue}{\frac{1}{1000000000} + x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right)} \]
            6. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto \color{blue}{x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) + \frac{1}{1000000000}} \]
              2. *-commutativeN/A

                \[\leadsto \color{blue}{\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) \cdot x} + \frac{1}{1000000000} \]
              3. lower-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right), x, \frac{1}{1000000000}\right)} \]
              4. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) + \frac{564193179035109}{500000000000000}}, x, \frac{1}{1000000000}\right) \]
              5. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) \cdot x} + \frac{564193179035109}{500000000000000}, x, \frac{1}{1000000000}\right) \]
              6. lower-fma.f64N/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}, x, \frac{564193179035109}{500000000000000}\right)}, x, \frac{1}{1000000000}\right) \]
              7. lower--.f64N/A

                \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}}, x, \frac{564193179035109}{500000000000000}\right), x, \frac{1}{1000000000}\right) \]
              8. lower-*.f6495.4

                \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{-0.37545125292247583 \cdot x} - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right) \]
            7. Applied rewrites95.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right)} \]

            if 0.10000000000000001 < (fabs.f64 x)

            1. Initial program 100.0%

              \[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|} \]
            2. Add Preprocessing
            3. Applied rewrites100.0%

              \[\leadsto 1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \color{blue}{\frac{\mathsf{fma}\left(\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)}, -\mathsf{fma}\left(x, 0.3275911, 1\right), \mathsf{fma}\left(x, 0.3275911, 1\right) \cdot 0.284496736\right)}{\mathsf{fma}\left(x, 0.3275911, 1\right) \cdot \left(-\mathsf{fma}\left(x, 0.3275911, 1\right)\right)}}\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
            4. Taylor expanded in x around inf

              \[\leadsto \color{blue}{1 - \frac{31853699}{125000000} \cdot \frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|}} \]
            5. Step-by-step derivation
              1. lower--.f64N/A

                \[\leadsto \color{blue}{1 - \frac{31853699}{125000000} \cdot \frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|}} \]
              2. *-commutativeN/A

                \[\leadsto 1 - \color{blue}{\frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000}} \]
              3. lower-*.f64N/A

                \[\leadsto 1 - \color{blue}{\frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000}} \]
              4. lower-/.f64N/A

                \[\leadsto 1 - \color{blue}{\frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|}} \cdot \frac{31853699}{125000000} \]
              5. unpow2N/A

                \[\leadsto 1 - \frac{e^{\mathsf{neg}\left(\color{blue}{\left|x\right| \cdot \left|x\right|}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              6. sqr-abs-revN/A

                \[\leadsto 1 - \frac{e^{\mathsf{neg}\left(\color{blue}{x \cdot x}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              7. unpow2N/A

                \[\leadsto 1 - \frac{e^{\mathsf{neg}\left(\color{blue}{{x}^{2}}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              8. lower-exp.f64N/A

                \[\leadsto 1 - \frac{\color{blue}{e^{\mathsf{neg}\left({x}^{2}\right)}}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              9. unpow2N/A

                \[\leadsto 1 - \frac{e^{\mathsf{neg}\left(\color{blue}{x \cdot x}\right)}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              10. distribute-lft-neg-inN/A

                \[\leadsto 1 - \frac{e^{\color{blue}{\left(\mathsf{neg}\left(x\right)\right) \cdot x}}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              11. lower-*.f64N/A

                \[\leadsto 1 - \frac{e^{\color{blue}{\left(\mathsf{neg}\left(x\right)\right) \cdot x}}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              12. lower-neg.f64N/A

                \[\leadsto 1 - \frac{e^{\color{blue}{\left(-x\right)} \cdot x}}{1 + \frac{3275911}{10000000} \cdot \left|x\right|} \cdot \frac{31853699}{125000000} \]
              13. +-commutativeN/A

                \[\leadsto 1 - \frac{e^{\left(-x\right) \cdot x}}{\color{blue}{\frac{3275911}{10000000} \cdot \left|x\right| + 1}} \cdot \frac{31853699}{125000000} \]
              14. *-commutativeN/A

                \[\leadsto 1 - \frac{e^{\left(-x\right) \cdot x}}{\color{blue}{\left|x\right| \cdot \frac{3275911}{10000000}} + 1} \cdot \frac{31853699}{125000000} \]
              15. lower-fma.f64N/A

                \[\leadsto 1 - \frac{e^{\left(-x\right) \cdot x}}{\color{blue}{\mathsf{fma}\left(\left|x\right|, \frac{3275911}{10000000}, 1\right)}} \cdot \frac{31853699}{125000000} \]
              16. lower-fabs.f6499.5

                \[\leadsto 1 - \frac{e^{\left(-x\right) \cdot x}}{\mathsf{fma}\left(\color{blue}{\left|x\right|}, 0.3275911, 1\right)} \cdot 0.254829592 \]
            6. Applied rewrites99.5%

              \[\leadsto \color{blue}{1 - \frac{e^{\left(-x\right) \cdot x}}{\mathsf{fma}\left(\left|x\right|, 0.3275911, 1\right)} \cdot 0.254829592} \]
          3. Recombined 2 regimes into one program.
          4. Add Preprocessing

          Alternative 6: 99.6% accurate, 2.0× speedup?

          \[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-0.7778892405807117, \frac{e^{\left(-x\_m\right) \cdot x\_m}}{x\_m}, 1\right)\\ \end{array} \end{array} \]
          x_m = (fabs.f64 x)
          (FPCore (x_m)
           :precision binary64
           (if (<= (fabs x_m) 0.1)
             (fma
              (fma
               (- (* -0.37545125292247583 x_m) 0.00011824294398844343)
               x_m
               1.128386358070218)
              x_m
              1e-9)
             (fma -0.7778892405807117 (/ (exp (* (- x_m) x_m)) x_m) 1.0)))
          x_m = fabs(x);
          double code(double x_m) {
          	double tmp;
          	if (fabs(x_m) <= 0.1) {
          		tmp = fma(fma(((-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
          	} else {
          		tmp = fma(-0.7778892405807117, (exp((-x_m * x_m)) / x_m), 1.0);
          	}
          	return tmp;
          }
          
          x_m = abs(x)
          function code(x_m)
          	tmp = 0.0
          	if (abs(x_m) <= 0.1)
          		tmp = fma(fma(Float64(Float64(-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
          	else
          		tmp = fma(-0.7778892405807117, Float64(exp(Float64(Float64(-x_m) * x_m)) / x_m), 1.0);
          	end
          	return tmp
          end
          
          x_m = N[Abs[x], $MachinePrecision]
          code[x$95$m_] := If[LessEqual[N[Abs[x$95$m], $MachinePrecision], 0.1], N[(N[(N[(N[(-0.37545125292247583 * x$95$m), $MachinePrecision] - 0.00011824294398844343), $MachinePrecision] * x$95$m + 1.128386358070218), $MachinePrecision] * x$95$m + 1e-9), $MachinePrecision], N[(-0.7778892405807117 * N[(N[Exp[N[((-x$95$m) * x$95$m), $MachinePrecision]], $MachinePrecision] / x$95$m), $MachinePrecision] + 1.0), $MachinePrecision]]
          
          \begin{array}{l}
          x_m = \left|x\right|
          
          \\
          \begin{array}{l}
          \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\
          \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;\mathsf{fma}\left(-0.7778892405807117, \frac{e^{\left(-x\_m\right) \cdot x\_m}}{x\_m}, 1\right)\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (fabs.f64 x) < 0.10000000000000001

            1. Initial program 58.1%

              \[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|} \]
            2. Add Preprocessing
            3. Applied rewrites56.3%

              \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
            4. Applied rewrites56.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
            5. Taylor expanded in x around 0

              \[\leadsto \color{blue}{\frac{1}{1000000000} + x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right)} \]
            6. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto \color{blue}{x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) + \frac{1}{1000000000}} \]
              2. *-commutativeN/A

                \[\leadsto \color{blue}{\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) \cdot x} + \frac{1}{1000000000} \]
              3. lower-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right), x, \frac{1}{1000000000}\right)} \]
              4. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) + \frac{564193179035109}{500000000000000}}, x, \frac{1}{1000000000}\right) \]
              5. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) \cdot x} + \frac{564193179035109}{500000000000000}, x, \frac{1}{1000000000}\right) \]
              6. lower-fma.f64N/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}, x, \frac{564193179035109}{500000000000000}\right)}, x, \frac{1}{1000000000}\right) \]
              7. lower--.f64N/A

                \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}}, x, \frac{564193179035109}{500000000000000}\right), x, \frac{1}{1000000000}\right) \]
              8. lower-*.f6495.4

                \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{-0.37545125292247583 \cdot x} - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right) \]
            7. Applied rewrites95.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right)} \]

            if 0.10000000000000001 < (fabs.f64 x)

            1. Initial program 100.0%

              \[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|} \]
            2. Add Preprocessing
            3. Applied rewrites100.0%

              \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
            4. Taylor expanded in x around inf

              \[\leadsto \color{blue}{1 + \frac{-63707398}{81897775} \cdot \frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{x}} \]
            5. Step-by-step derivation
              1. associate-*r/N/A

                \[\leadsto 1 + \color{blue}{\frac{\frac{-63707398}{81897775} \cdot e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{x}} \]
              2. +-commutativeN/A

                \[\leadsto \color{blue}{\frac{\frac{-63707398}{81897775} \cdot e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{x} + 1} \]
              3. associate-*r/N/A

                \[\leadsto \color{blue}{\frac{-63707398}{81897775} \cdot \frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{x}} + 1 \]
              4. lower-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{x}, 1\right)} \]
              5. lower-/.f64N/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \color{blue}{\frac{e^{\mathsf{neg}\left({\left(\left|x\right|\right)}^{2}\right)}}{x}}, 1\right) \]
              6. unpow2N/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\mathsf{neg}\left(\color{blue}{\left|x\right| \cdot \left|x\right|}\right)}}{x}, 1\right) \]
              7. sqr-abs-revN/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\mathsf{neg}\left(\color{blue}{x \cdot x}\right)}}{x}, 1\right) \]
              8. unpow2N/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\mathsf{neg}\left(\color{blue}{{x}^{2}}\right)}}{x}, 1\right) \]
              9. lower-exp.f64N/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{\color{blue}{e^{\mathsf{neg}\left({x}^{2}\right)}}}{x}, 1\right) \]
              10. unpow2N/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\mathsf{neg}\left(\color{blue}{x \cdot x}\right)}}{x}, 1\right) \]
              11. distribute-lft-neg-inN/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\color{blue}{\left(\mathsf{neg}\left(x\right)\right) \cdot x}}}{x}, 1\right) \]
              12. lower-*.f64N/A

                \[\leadsto \mathsf{fma}\left(\frac{-63707398}{81897775}, \frac{e^{\color{blue}{\left(\mathsf{neg}\left(x\right)\right) \cdot x}}}{x}, 1\right) \]
              13. lower-neg.f6499.5

                \[\leadsto \mathsf{fma}\left(-0.7778892405807117, \frac{e^{\color{blue}{\left(-x\right)} \cdot x}}{x}, 1\right) \]
            6. Applied rewrites99.5%

              \[\leadsto \color{blue}{\mathsf{fma}\left(-0.7778892405807117, \frac{e^{\left(-x\right) \cdot x}}{x}, 1\right)} \]
          3. Recombined 2 regimes into one program.
          4. Add Preprocessing

          Alternative 7: 99.6% accurate, 9.0× speedup?

          \[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
          x_m = (fabs.f64 x)
          (FPCore (x_m)
           :precision binary64
           (if (<= (fabs x_m) 0.1)
             (fma
              (fma
               (- (* -0.37545125292247583 x_m) 0.00011824294398844343)
               x_m
               1.128386358070218)
              x_m
              1e-9)
             1.0))
          x_m = fabs(x);
          double code(double x_m) {
          	double tmp;
          	if (fabs(x_m) <= 0.1) {
          		tmp = fma(fma(((-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
          	} else {
          		tmp = 1.0;
          	}
          	return tmp;
          }
          
          x_m = abs(x)
          function code(x_m)
          	tmp = 0.0
          	if (abs(x_m) <= 0.1)
          		tmp = fma(fma(Float64(Float64(-0.37545125292247583 * x_m) - 0.00011824294398844343), x_m, 1.128386358070218), x_m, 1e-9);
          	else
          		tmp = 1.0;
          	end
          	return tmp
          end
          
          x_m = N[Abs[x], $MachinePrecision]
          code[x$95$m_] := If[LessEqual[N[Abs[x$95$m], $MachinePrecision], 0.1], N[(N[(N[(N[(-0.37545125292247583 * x$95$m), $MachinePrecision] - 0.00011824294398844343), $MachinePrecision] * x$95$m + 1.128386358070218), $MachinePrecision] * x$95$m + 1e-9), $MachinePrecision], 1.0]
          
          \begin{array}{l}
          x_m = \left|x\right|
          
          \\
          \begin{array}{l}
          \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\
          \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x\_m - 0.00011824294398844343, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;1\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (fabs.f64 x) < 0.10000000000000001

            1. Initial program 58.1%

              \[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|} \]
            2. Add Preprocessing
            3. Applied rewrites56.3%

              \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
            4. Applied rewrites56.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left({\left(e^{x}\right)}^{\left(-x\right)}, \frac{\frac{\frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)}}{\mathsf{fma}\left(0.3275911, x, 1\right)} + -0.284496736}{\mathsf{fma}\left(0.3275911, x, 1\right)} + 0.254829592}{\mathsf{fma}\left(-0.3275911, x, -1\right)}, 1\right)} \]
            5. Taylor expanded in x around 0

              \[\leadsto \color{blue}{\frac{1}{1000000000} + x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right)} \]
            6. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto \color{blue}{x \cdot \left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) + \frac{1}{1000000000}} \]
              2. *-commutativeN/A

                \[\leadsto \color{blue}{\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right)\right) \cdot x} + \frac{1}{1000000000} \]
              3. lower-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{564193179035109}{500000000000000} + x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right), x, \frac{1}{1000000000}\right)} \]
              4. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) + \frac{564193179035109}{500000000000000}}, x, \frac{1}{1000000000}\right) \]
              5. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}\right) \cdot x} + \frac{564193179035109}{500000000000000}, x, \frac{1}{1000000000}\right) \]
              6. lower-fma.f64N/A

                \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}, x, \frac{564193179035109}{500000000000000}\right)}, x, \frac{1}{1000000000}\right) \]
              7. lower--.f64N/A

                \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\frac{-375451252922475856043509345477}{1000000000000000000000000000000} \cdot x - \frac{2364858879768868679}{20000000000000000000000}}, x, \frac{564193179035109}{500000000000000}\right), x, \frac{1}{1000000000}\right) \]
              8. lower-*.f6495.4

                \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{-0.37545125292247583 \cdot x} - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right) \]
            7. Applied rewrites95.4%

              \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.37545125292247583 \cdot x - 0.00011824294398844343, x, 1.128386358070218\right), x, 10^{-9}\right)} \]

            if 0.10000000000000001 < (fabs.f64 x)

            1. Initial program 100.0%

              \[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|} \]
            2. Add Preprocessing
            3. Applied rewrites100.0%

              \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
            4. Taylor expanded in x around inf

              \[\leadsto \color{blue}{1} \]
            5. Step-by-step derivation
              1. Applied rewrites99.5%

                \[\leadsto \color{blue}{1} \]
            6. Recombined 2 regimes into one program.
            7. Add Preprocessing

            Alternative 8: 99.4% accurate, 12.5× speedup?

            \[\begin{array}{l} x_m = \left|x\right| \\ \begin{array}{l} \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.00011824394398844293, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
            x_m = (fabs.f64 x)
            (FPCore (x_m)
             :precision binary64
             (if (<= (fabs x_m) 0.1)
               (fma (fma -0.00011824394398844293 x_m 1.128386358070218) x_m 1e-9)
               1.0))
            x_m = fabs(x);
            double code(double x_m) {
            	double tmp;
            	if (fabs(x_m) <= 0.1) {
            		tmp = fma(fma(-0.00011824394398844293, x_m, 1.128386358070218), x_m, 1e-9);
            	} else {
            		tmp = 1.0;
            	}
            	return tmp;
            }
            
            x_m = abs(x)
            function code(x_m)
            	tmp = 0.0
            	if (abs(x_m) <= 0.1)
            		tmp = fma(fma(-0.00011824394398844293, x_m, 1.128386358070218), x_m, 1e-9);
            	else
            		tmp = 1.0;
            	end
            	return tmp
            end
            
            x_m = N[Abs[x], $MachinePrecision]
            code[x$95$m_] := If[LessEqual[N[Abs[x$95$m], $MachinePrecision], 0.1], N[(N[(-0.00011824394398844293 * x$95$m + 1.128386358070218), $MachinePrecision] * x$95$m + 1e-9), $MachinePrecision], 1.0]
            
            \begin{array}{l}
            x_m = \left|x\right|
            
            \\
            \begin{array}{l}
            \mathbf{if}\;\left|x\_m\right| \leq 0.1:\\
            \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.00011824394398844293, x\_m, 1.128386358070218\right), x\_m, 10^{-9}\right)\\
            
            \mathbf{else}:\\
            \;\;\;\;1\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if (fabs.f64 x) < 0.10000000000000001

              1. Initial program 58.1%

                \[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|} \]
              2. Add Preprocessing
              3. Applied rewrites55.8%

                \[\leadsto \color{blue}{\frac{1 - {\left(\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{{\left(e^{x}\right)}^{x} \cdot \mathsf{fma}\left(x, 0.3275911, 1\right)}\right)}^{2}}{\mathsf{fma}\left({\left(e^{x}\right)}^{x}, \frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}, 1\right)}} \]
              4. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\frac{1}{1000000000} + x \cdot \left(\frac{564193179035109}{500000000000000} + \frac{-4729757757172838478231131321}{39999999980000000000000000000000} \cdot x\right)} \]
              5. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \color{blue}{x \cdot \left(\frac{564193179035109}{500000000000000} + \frac{-4729757757172838478231131321}{39999999980000000000000000000000} \cdot x\right) + \frac{1}{1000000000}} \]
                2. *-commutativeN/A

                  \[\leadsto \color{blue}{\left(\frac{564193179035109}{500000000000000} + \frac{-4729757757172838478231131321}{39999999980000000000000000000000} \cdot x\right) \cdot x} + \frac{1}{1000000000} \]
                3. lower-fma.f64N/A

                  \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{564193179035109}{500000000000000} + \frac{-4729757757172838478231131321}{39999999980000000000000000000000} \cdot x, x, \frac{1}{1000000000}\right)} \]
                4. +-commutativeN/A

                  \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{-4729757757172838478231131321}{39999999980000000000000000000000} \cdot x + \frac{564193179035109}{500000000000000}}, x, \frac{1}{1000000000}\right) \]
                5. lower-fma.f6495.1

                  \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(-0.00011824394398844293, x, 1.128386358070218\right)}, x, 10^{-9}\right) \]
              6. Applied rewrites95.1%

                \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.00011824394398844293, x, 1.128386358070218\right), x, 10^{-9}\right)} \]

              if 0.10000000000000001 < (fabs.f64 x)

              1. Initial program 100.0%

                \[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|} \]
              2. Add Preprocessing
              3. Applied rewrites100.0%

                \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
              4. Taylor expanded in x around inf

                \[\leadsto \color{blue}{1} \]
              5. Step-by-step derivation
                1. Applied rewrites99.5%

                  \[\leadsto \color{blue}{1} \]
              6. Recombined 2 regimes into one program.
              7. Add Preprocessing

              Alternative 9: 55.6% accurate, 262.0× speedup?

              \[\begin{array}{l} x_m = \left|x\right| \\ 1 \end{array} \]
              x_m = (fabs.f64 x)
              (FPCore (x_m) :precision binary64 1.0)
              x_m = fabs(x);
              double code(double x_m) {
              	return 1.0;
              }
              
              x_m = abs(x)
              real(8) function code(x_m)
                  real(8), intent (in) :: x_m
                  code = 1.0d0
              end function
              
              x_m = Math.abs(x);
              public static double code(double x_m) {
              	return 1.0;
              }
              
              x_m = math.fabs(x)
              def code(x_m):
              	return 1.0
              
              x_m = abs(x)
              function code(x_m)
              	return 1.0
              end
              
              x_m = abs(x);
              function tmp = code(x_m)
              	tmp = 1.0;
              end
              
              x_m = N[Abs[x], $MachinePrecision]
              code[x$95$m_] := 1.0
              
              \begin{array}{l}
              x_m = \left|x\right|
              
              \\
              1
              \end{array}
              
              Derivation
              1. Initial program 78.1%

                \[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|} \]
              2. Add Preprocessing
              3. Applied rewrites77.1%

                \[\leadsto 1 - \color{blue}{\frac{\frac{\frac{\frac{\frac{1.061405429}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -1.453152027}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 1.421413741}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + -0.284496736}{\mathsf{fma}\left(x, 0.3275911, 1\right)} + 0.254829592}{\mathsf{fma}\left(x, 0.3275911, 1\right)}} \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
              4. Taylor expanded in x around inf

                \[\leadsto \color{blue}{1} \]
              5. Step-by-step derivation
                1. Applied rewrites53.3%

                  \[\leadsto \color{blue}{1} \]
                2. Add Preprocessing

                Reproduce

                ?
                herbie shell --seed 2024326 
                (FPCore (x)
                  :name "Jmat.Real.erf"
                  :precision binary64
                  (- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))