Jmat.Real.erfi, branch x greater than or equal to 5

Percentage Accurate: 100.0% → 99.9%
Time: 5.0s
Alternatives: 11
Speedup: N/A×

Specification

?
\[x \geq 0.5\]
\[\begin{array}{l} t_0 := \frac{1}{\left|x\right|}\\ t_1 := \left(t\_0 \cdot t\_0\right) \cdot t\_0\\ t_2 := \left(t\_1 \cdot t\_0\right) \cdot t\_0\\ \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(t\_0 + \frac{1}{2} \cdot t\_1\right) + \frac{3}{4} \cdot t\_2\right) + \frac{15}{8} \cdot \left(\left(t\_2 \cdot t\_0\right) \cdot t\_0\right)\right) \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (/ 1.0 (fabs x)))
       (t_1 (* (* t_0 t_0) t_0))
       (t_2 (* (* t_1 t_0) t_0)))
  (*
   (* (/ 1.0 (sqrt PI)) (exp (* (fabs x) (fabs x))))
   (+
    (+ (+ t_0 (* (/ 1.0 2.0) t_1)) (* (/ 3.0 4.0) t_2))
    (* (/ 15.0 8.0) (* (* t_2 t_0) t_0))))))
double code(double x) {
	double t_0 = 1.0 / fabs(x);
	double t_1 = (t_0 * t_0) * t_0;
	double t_2 = (t_1 * t_0) * t_0;
	return ((1.0 / sqrt(((double) M_PI))) * exp((fabs(x) * fabs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)));
}
public static double code(double x) {
	double t_0 = 1.0 / Math.abs(x);
	double t_1 = (t_0 * t_0) * t_0;
	double t_2 = (t_1 * t_0) * t_0;
	return ((1.0 / Math.sqrt(Math.PI)) * Math.exp((Math.abs(x) * Math.abs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)));
}
def code(x):
	t_0 = 1.0 / math.fabs(x)
	t_1 = (t_0 * t_0) * t_0
	t_2 = (t_1 * t_0) * t_0
	return ((1.0 / math.sqrt(math.pi)) * math.exp((math.fabs(x) * math.fabs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)))
function code(x)
	t_0 = Float64(1.0 / abs(x))
	t_1 = Float64(Float64(t_0 * t_0) * t_0)
	t_2 = Float64(Float64(t_1 * t_0) * t_0)
	return Float64(Float64(Float64(1.0 / sqrt(pi)) * exp(Float64(abs(x) * abs(x)))) * Float64(Float64(Float64(t_0 + Float64(Float64(1.0 / 2.0) * t_1)) + Float64(Float64(3.0 / 4.0) * t_2)) + Float64(Float64(15.0 / 8.0) * Float64(Float64(t_2 * t_0) * t_0))))
end
function tmp = code(x)
	t_0 = 1.0 / abs(x);
	t_1 = (t_0 * t_0) * t_0;
	t_2 = (t_1 * t_0) * t_0;
	tmp = ((1.0 / sqrt(pi)) * exp((abs(x) * abs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)));
end
code[x_] := Block[{t$95$0 = N[(1.0 / N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(t$95$0 * t$95$0), $MachinePrecision] * t$95$0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t$95$1 * t$95$0), $MachinePrecision] * t$95$0), $MachinePrecision]}, N[(N[(N[(1.0 / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision] * N[Exp[N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(t$95$0 + N[(N[(1.0 / 2.0), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(N[(3.0 / 4.0), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[(15.0 / 8.0), $MachinePrecision] * N[(N[(t$95$2 * t$95$0), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
t_0 := \frac{1}{\left|x\right|}\\
t_1 := \left(t\_0 \cdot t\_0\right) \cdot t\_0\\
t_2 := \left(t\_1 \cdot t\_0\right) \cdot t\_0\\
\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(t\_0 + \frac{1}{2} \cdot t\_1\right) + \frac{3}{4} \cdot t\_2\right) + \frac{15}{8} \cdot \left(\left(t\_2 \cdot t\_0\right) \cdot t\_0\right)\right)
\end{array}

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 11 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: 100.0% accurate, 1.0× speedup?

\[\begin{array}{l} t_0 := \frac{1}{\left|x\right|}\\ t_1 := \left(t\_0 \cdot t\_0\right) \cdot t\_0\\ t_2 := \left(t\_1 \cdot t\_0\right) \cdot t\_0\\ \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(t\_0 + \frac{1}{2} \cdot t\_1\right) + \frac{3}{4} \cdot t\_2\right) + \frac{15}{8} \cdot \left(\left(t\_2 \cdot t\_0\right) \cdot t\_0\right)\right) \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (/ 1.0 (fabs x)))
       (t_1 (* (* t_0 t_0) t_0))
       (t_2 (* (* t_1 t_0) t_0)))
  (*
   (* (/ 1.0 (sqrt PI)) (exp (* (fabs x) (fabs x))))
   (+
    (+ (+ t_0 (* (/ 1.0 2.0) t_1)) (* (/ 3.0 4.0) t_2))
    (* (/ 15.0 8.0) (* (* t_2 t_0) t_0))))))
double code(double x) {
	double t_0 = 1.0 / fabs(x);
	double t_1 = (t_0 * t_0) * t_0;
	double t_2 = (t_1 * t_0) * t_0;
	return ((1.0 / sqrt(((double) M_PI))) * exp((fabs(x) * fabs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)));
}
public static double code(double x) {
	double t_0 = 1.0 / Math.abs(x);
	double t_1 = (t_0 * t_0) * t_0;
	double t_2 = (t_1 * t_0) * t_0;
	return ((1.0 / Math.sqrt(Math.PI)) * Math.exp((Math.abs(x) * Math.abs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)));
}
def code(x):
	t_0 = 1.0 / math.fabs(x)
	t_1 = (t_0 * t_0) * t_0
	t_2 = (t_1 * t_0) * t_0
	return ((1.0 / math.sqrt(math.pi)) * math.exp((math.fabs(x) * math.fabs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)))
function code(x)
	t_0 = Float64(1.0 / abs(x))
	t_1 = Float64(Float64(t_0 * t_0) * t_0)
	t_2 = Float64(Float64(t_1 * t_0) * t_0)
	return Float64(Float64(Float64(1.0 / sqrt(pi)) * exp(Float64(abs(x) * abs(x)))) * Float64(Float64(Float64(t_0 + Float64(Float64(1.0 / 2.0) * t_1)) + Float64(Float64(3.0 / 4.0) * t_2)) + Float64(Float64(15.0 / 8.0) * Float64(Float64(t_2 * t_0) * t_0))))
end
function tmp = code(x)
	t_0 = 1.0 / abs(x);
	t_1 = (t_0 * t_0) * t_0;
	t_2 = (t_1 * t_0) * t_0;
	tmp = ((1.0 / sqrt(pi)) * exp((abs(x) * abs(x)))) * (((t_0 + ((1.0 / 2.0) * t_1)) + ((3.0 / 4.0) * t_2)) + ((15.0 / 8.0) * ((t_2 * t_0) * t_0)));
end
code[x_] := Block[{t$95$0 = N[(1.0 / N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(t$95$0 * t$95$0), $MachinePrecision] * t$95$0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t$95$1 * t$95$0), $MachinePrecision] * t$95$0), $MachinePrecision]}, N[(N[(N[(1.0 / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision] * N[Exp[N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(t$95$0 + N[(N[(1.0 / 2.0), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(N[(3.0 / 4.0), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[(15.0 / 8.0), $MachinePrecision] * N[(N[(t$95$2 * t$95$0), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
t_0 := \frac{1}{\left|x\right|}\\
t_1 := \left(t\_0 \cdot t\_0\right) \cdot t\_0\\
t_2 := \left(t\_1 \cdot t\_0\right) \cdot t\_0\\
\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(t\_0 + \frac{1}{2} \cdot t\_1\right) + \frac{3}{4} \cdot t\_2\right) + \frac{15}{8} \cdot \left(\left(t\_2 \cdot t\_0\right) \cdot t\_0\right)\right)
\end{array}

Alternative 1: 99.9% accurate, 2.1× speedup?

\[\begin{array}{l} t_0 := \left(x \cdot x\right) \cdot x\\ t_1 := t\_0 \cdot x\\ t_2 := \frac{0.5}{x \cdot x} - -1\\ \mathbf{if}\;x \leq 1.35 \cdot 10^{+154}:\\ \;\;\;\;\frac{e^{x \cdot x}}{\sqrt{\pi} \cdot \left|x\right|} \cdot \left(t\_2 - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(t\_1 \cdot x\right) \cdot x}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(t\_2 - \left(\frac{-0.75}{t\_1} - \frac{1.875}{t\_0 \cdot t\_0}\right)\right) \cdot \left(1 + {x}^{2}\right)}{\left|x\right| \cdot 1.772453850905516}\\ \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (* x x) x))
       (t_1 (* t_0 x))
       (t_2 (- (/ 0.5 (* x x)) -1.0)))
  (if (<= x 1.35e+154)
    (*
     (/ (exp (* x x)) (* (sqrt PI) (fabs x)))
     (- t_2 (/ (- (* -0.75 (* x x)) 1.875) (* (* t_1 x) x))))
    (/
     (*
      (- t_2 (- (/ -0.75 t_1) (/ 1.875 (* t_0 t_0))))
      (+ 1.0 (pow x 2.0)))
     (* (fabs x) 1.772453850905516)))))
double code(double x) {
	double t_0 = (x * x) * x;
	double t_1 = t_0 * x;
	double t_2 = (0.5 / (x * x)) - -1.0;
	double tmp;
	if (x <= 1.35e+154) {
		tmp = (exp((x * x)) / (sqrt(((double) M_PI)) * fabs(x))) * (t_2 - (((-0.75 * (x * x)) - 1.875) / ((t_1 * x) * x)));
	} else {
		tmp = ((t_2 - ((-0.75 / t_1) - (1.875 / (t_0 * t_0)))) * (1.0 + pow(x, 2.0))) / (fabs(x) * 1.772453850905516);
	}
	return tmp;
}
public static double code(double x) {
	double t_0 = (x * x) * x;
	double t_1 = t_0 * x;
	double t_2 = (0.5 / (x * x)) - -1.0;
	double tmp;
	if (x <= 1.35e+154) {
		tmp = (Math.exp((x * x)) / (Math.sqrt(Math.PI) * Math.abs(x))) * (t_2 - (((-0.75 * (x * x)) - 1.875) / ((t_1 * x) * x)));
	} else {
		tmp = ((t_2 - ((-0.75 / t_1) - (1.875 / (t_0 * t_0)))) * (1.0 + Math.pow(x, 2.0))) / (Math.abs(x) * 1.772453850905516);
	}
	return tmp;
}
def code(x):
	t_0 = (x * x) * x
	t_1 = t_0 * x
	t_2 = (0.5 / (x * x)) - -1.0
	tmp = 0
	if x <= 1.35e+154:
		tmp = (math.exp((x * x)) / (math.sqrt(math.pi) * math.fabs(x))) * (t_2 - (((-0.75 * (x * x)) - 1.875) / ((t_1 * x) * x)))
	else:
		tmp = ((t_2 - ((-0.75 / t_1) - (1.875 / (t_0 * t_0)))) * (1.0 + math.pow(x, 2.0))) / (math.fabs(x) * 1.772453850905516)
	return tmp
function code(x)
	t_0 = Float64(Float64(x * x) * x)
	t_1 = Float64(t_0 * x)
	t_2 = Float64(Float64(0.5 / Float64(x * x)) - -1.0)
	tmp = 0.0
	if (x <= 1.35e+154)
		tmp = Float64(Float64(exp(Float64(x * x)) / Float64(sqrt(pi) * abs(x))) * Float64(t_2 - Float64(Float64(Float64(-0.75 * Float64(x * x)) - 1.875) / Float64(Float64(t_1 * x) * x))));
	else
		tmp = Float64(Float64(Float64(t_2 - Float64(Float64(-0.75 / t_1) - Float64(1.875 / Float64(t_0 * t_0)))) * Float64(1.0 + (x ^ 2.0))) / Float64(abs(x) * 1.772453850905516));
	end
	return tmp
end
function tmp_2 = code(x)
	t_0 = (x * x) * x;
	t_1 = t_0 * x;
	t_2 = (0.5 / (x * x)) - -1.0;
	tmp = 0.0;
	if (x <= 1.35e+154)
		tmp = (exp((x * x)) / (sqrt(pi) * abs(x))) * (t_2 - (((-0.75 * (x * x)) - 1.875) / ((t_1 * x) * x)));
	else
		tmp = ((t_2 - ((-0.75 / t_1) - (1.875 / (t_0 * t_0)))) * (1.0 + (x ^ 2.0))) / (abs(x) * 1.772453850905516);
	end
	tmp_2 = tmp;
end
code[x_] := Block[{t$95$0 = N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 * x), $MachinePrecision]}, Block[{t$95$2 = N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision]}, If[LessEqual[x, 1.35e+154], N[(N[(N[Exp[N[(x * x), $MachinePrecision]], $MachinePrecision] / N[(N[Sqrt[Pi], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(t$95$2 - N[(N[(N[(-0.75 * N[(x * x), $MachinePrecision]), $MachinePrecision] - 1.875), $MachinePrecision] / N[(N[(t$95$1 * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(t$95$2 - N[(N[(-0.75 / t$95$1), $MachinePrecision] - N[(1.875 / N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[Power[x, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Abs[x], $MachinePrecision] * 1.772453850905516), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
t_0 := \left(x \cdot x\right) \cdot x\\
t_1 := t\_0 \cdot x\\
t_2 := \frac{0.5}{x \cdot x} - -1\\
\mathbf{if}\;x \leq 1.35 \cdot 10^{+154}:\\
\;\;\;\;\frac{e^{x \cdot x}}{\sqrt{\pi} \cdot \left|x\right|} \cdot \left(t\_2 - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(t\_1 \cdot x\right) \cdot x}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(t\_2 - \left(\frac{-0.75}{t\_1} - \frac{1.875}{t\_0 \cdot t\_0}\right)\right) \cdot \left(1 + {x}^{2}\right)}{\left|x\right| \cdot 1.772453850905516}\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.35e154

    1. Initial program 100.0%

      \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
    2. Applied rewrites100.0%

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    3. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}}{\sqrt{\pi}} \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot \frac{e^{x \cdot x}}{\sqrt{\pi}}} \]
    4. Applied rewrites99.9%

      \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}} \]
    5. Applied rewrites49.6%

      \[\leadsto \color{blue}{\frac{e^{x \cdot x}}{\sqrt{\pi} \cdot \left|x\right|} \cdot \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right)} \]

    if 1.35e154 < x

    1. Initial program 100.0%

      \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
    2. Applied rewrites100.0%

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    3. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}}{\sqrt{\pi}} \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot \frac{e^{x \cdot x}}{\sqrt{\pi}}} \]
    4. Applied rewrites99.9%

      \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}} \]
    5. Evaluated real constant99.9%

      \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \color{blue}{1.772453850905516}} \]
    6. Taylor expanded in x around 0

      \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot \color{blue}{\left(1 + {x}^{2}\right)}}{\left|x\right| \cdot 1.772453850905516} \]
    7. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \left(\frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot \left(1 + \color{blue}{{x}^{2}}\right)}{\left|x\right| \cdot \frac{7982422502469483}{4503599627370496}} \]
      2. lower-pow.f6452.3%

        \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot \left(1 + {x}^{\color{blue}{2}}\right)}{\left|x\right| \cdot 1.772453850905516} \]
    8. Applied rewrites52.3%

      \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot \color{blue}{\left(1 + {x}^{2}\right)}}{\left|x\right| \cdot 1.772453850905516} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 2: 99.9% accurate, 2.1× speedup?

\[\begin{array}{l} t_0 := \left(x \cdot x\right) \cdot x\\ \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{t\_0 \cdot x} - \frac{1.875}{t\_0 \cdot t\_0}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (* x x) x)))
  (/
   (*
    (-
     (- (/ 0.5 (* x x)) -1.0)
     (- (/ -0.75 (* t_0 x)) (/ 1.875 (* t_0 t_0))))
    (exp (* x x)))
   (* (fabs x) (sqrt PI)))))
double code(double x) {
	double t_0 = (x * x) * x;
	return ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * exp((x * x))) / (fabs(x) * sqrt(((double) M_PI)));
}
public static double code(double x) {
	double t_0 = (x * x) * x;
	return ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * Math.exp((x * x))) / (Math.abs(x) * Math.sqrt(Math.PI));
}
def code(x):
	t_0 = (x * x) * x
	return ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * math.exp((x * x))) / (math.fabs(x) * math.sqrt(math.pi))
function code(x)
	t_0 = Float64(Float64(x * x) * x)
	return Float64(Float64(Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(Float64(-0.75 / Float64(t_0 * x)) - Float64(1.875 / Float64(t_0 * t_0)))) * exp(Float64(x * x))) / Float64(abs(x) * sqrt(pi)))
end
function tmp = code(x)
	t_0 = (x * x) * x;
	tmp = ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * exp((x * x))) / (abs(x) * sqrt(pi));
end
code[x_] := Block[{t$95$0 = N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision]}, N[(N[(N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(N[(-0.75 / N[(t$95$0 * x), $MachinePrecision]), $MachinePrecision] - N[(1.875 / N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[N[(x * x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(N[Abs[x], $MachinePrecision] * N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
t_0 := \left(x \cdot x\right) \cdot x\\
\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{t\_0 \cdot x} - \frac{1.875}{t\_0 \cdot t\_0}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}
\end{array}
Derivation
  1. Initial program 100.0%

    \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
  2. Applied rewrites100.0%

    \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}}{\sqrt{\pi}} \]
    3. associate-/l*N/A

      \[\leadsto \color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot \frac{e^{x \cdot x}}{\sqrt{\pi}}} \]
  4. Applied rewrites99.9%

    \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}} \]
  5. Add Preprocessing

Alternative 3: 99.9% accurate, 2.2× speedup?

\[\begin{array}{l} t_0 := \left(x \cdot x\right) \cdot x\\ \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{t\_0 \cdot x} - \frac{1.875}{t\_0 \cdot t\_0}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot 1.772453850905516} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (* x x) x)))
  (/
   (*
    (-
     (- (/ 0.5 (* x x)) -1.0)
     (- (/ -0.75 (* t_0 x)) (/ 1.875 (* t_0 t_0))))
    (exp (* x x)))
   (* (fabs x) 1.772453850905516))))
double code(double x) {
	double t_0 = (x * x) * x;
	return ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * exp((x * x))) / (fabs(x) * 1.772453850905516);
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

real(8) function code(x)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8) :: t_0
    t_0 = (x * x) * x
    code = ((((0.5d0 / (x * x)) - (-1.0d0)) - (((-0.75d0) / (t_0 * x)) - (1.875d0 / (t_0 * t_0)))) * exp((x * x))) / (abs(x) * 1.772453850905516d0)
end function
public static double code(double x) {
	double t_0 = (x * x) * x;
	return ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * Math.exp((x * x))) / (Math.abs(x) * 1.772453850905516);
}
def code(x):
	t_0 = (x * x) * x
	return ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * math.exp((x * x))) / (math.fabs(x) * 1.772453850905516)
function code(x)
	t_0 = Float64(Float64(x * x) * x)
	return Float64(Float64(Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(Float64(-0.75 / Float64(t_0 * x)) - Float64(1.875 / Float64(t_0 * t_0)))) * exp(Float64(x * x))) / Float64(abs(x) * 1.772453850905516))
end
function tmp = code(x)
	t_0 = (x * x) * x;
	tmp = ((((0.5 / (x * x)) - -1.0) - ((-0.75 / (t_0 * x)) - (1.875 / (t_0 * t_0)))) * exp((x * x))) / (abs(x) * 1.772453850905516);
end
code[x_] := Block[{t$95$0 = N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision]}, N[(N[(N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(N[(-0.75 / N[(t$95$0 * x), $MachinePrecision]), $MachinePrecision] - N[(1.875 / N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[N[(x * x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(N[Abs[x], $MachinePrecision] * 1.772453850905516), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
t_0 := \left(x \cdot x\right) \cdot x\\
\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{t\_0 \cdot x} - \frac{1.875}{t\_0 \cdot t\_0}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot 1.772453850905516}
\end{array}
Derivation
  1. Initial program 100.0%

    \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
  2. Applied rewrites100.0%

    \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}}{\sqrt{\pi}} \]
    3. associate-/l*N/A

      \[\leadsto \color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot \frac{e^{x \cdot x}}{\sqrt{\pi}}} \]
  4. Applied rewrites99.9%

    \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}} \]
  5. Evaluated real constant99.9%

    \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \color{blue}{1.772453850905516}} \]
  6. Add Preprocessing

Alternative 4: 49.6% accurate, 2.2× speedup?

\[\frac{e^{x \cdot x}}{\sqrt{\pi} \cdot \left|x\right|} \cdot \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right) \]
(FPCore (x)
  :precision binary64
  (*
 (/ (exp (* x x)) (* (sqrt PI) (fabs x)))
 (-
  (- (/ 0.5 (* x x)) -1.0)
  (/ (- (* -0.75 (* x x)) 1.875) (* (* (* (* (* x x) x) x) x) x)))))
double code(double x) {
	return (exp((x * x)) / (sqrt(((double) M_PI)) * fabs(x))) * (((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x)));
}
public static double code(double x) {
	return (Math.exp((x * x)) / (Math.sqrt(Math.PI) * Math.abs(x))) * (((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x)));
}
def code(x):
	return (math.exp((x * x)) / (math.sqrt(math.pi) * math.fabs(x))) * (((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x)))
function code(x)
	return Float64(Float64(exp(Float64(x * x)) / Float64(sqrt(pi) * abs(x))) * Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(Float64(Float64(-0.75 * Float64(x * x)) - 1.875) / Float64(Float64(Float64(Float64(Float64(x * x) * x) * x) * x) * x))))
end
function tmp = code(x)
	tmp = (exp((x * x)) / (sqrt(pi) * abs(x))) * (((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x)));
end
code[x_] := N[(N[(N[Exp[N[(x * x), $MachinePrecision]], $MachinePrecision] / N[(N[Sqrt[Pi], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(N[(N[(-0.75 * N[(x * x), $MachinePrecision]), $MachinePrecision] - 1.875), $MachinePrecision] / N[(N[(N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{e^{x \cdot x}}{\sqrt{\pi} \cdot \left|x\right|} \cdot \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right)
Derivation
  1. Initial program 100.0%

    \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
  2. Applied rewrites100.0%

    \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}}{\sqrt{\pi}} \]
    3. associate-/l*N/A

      \[\leadsto \color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot \frac{e^{x \cdot x}}{\sqrt{\pi}}} \]
  4. Applied rewrites99.9%

    \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}} \]
  5. Applied rewrites49.6%

    \[\leadsto \color{blue}{\frac{e^{x \cdot x}}{\sqrt{\pi} \cdot \left|x\right|} \cdot \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right)} \]
  6. Add Preprocessing

Alternative 5: 49.6% accurate, 2.3× speedup?

\[\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(e^{x \cdot x} \cdot 0.5641895835477563\right)}{\left|x\right|} \]
(FPCore (x)
  :precision binary64
  (/
 (*
  (-
   (- (/ 0.5 (* x x)) -1.0)
   (/ (- (* -0.75 (* x x)) 1.875) (* (* (* (* (* x x) x) x) x) x)))
  (* (exp (* x x)) 0.5641895835477563))
 (fabs x)))
double code(double x) {
	return ((((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x))) * (exp((x * x)) * 0.5641895835477563)) / fabs(x);
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

real(8) function code(x)
use fmin_fmax_functions
    real(8), intent (in) :: x
    code = ((((0.5d0 / (x * x)) - (-1.0d0)) - ((((-0.75d0) * (x * x)) - 1.875d0) / (((((x * x) * x) * x) * x) * x))) * (exp((x * x)) * 0.5641895835477563d0)) / abs(x)
end function
public static double code(double x) {
	return ((((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x))) * (Math.exp((x * x)) * 0.5641895835477563)) / Math.abs(x);
}
def code(x):
	return ((((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x))) * (math.exp((x * x)) * 0.5641895835477563)) / math.fabs(x)
function code(x)
	return Float64(Float64(Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(Float64(Float64(-0.75 * Float64(x * x)) - 1.875) / Float64(Float64(Float64(Float64(Float64(x * x) * x) * x) * x) * x))) * Float64(exp(Float64(x * x)) * 0.5641895835477563)) / abs(x))
end
function tmp = code(x)
	tmp = ((((0.5 / (x * x)) - -1.0) - (((-0.75 * (x * x)) - 1.875) / (((((x * x) * x) * x) * x) * x))) * (exp((x * x)) * 0.5641895835477563)) / abs(x);
end
code[x_] := N[(N[(N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(N[(N[(-0.75 * N[(x * x), $MachinePrecision]), $MachinePrecision] - 1.875), $MachinePrecision] / N[(N[(N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Exp[N[(x * x), $MachinePrecision]], $MachinePrecision] * 0.5641895835477563), $MachinePrecision]), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision]
\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(e^{x \cdot x} \cdot 0.5641895835477563\right)}{\left|x\right|}
Derivation
  1. Initial program 100.0%

    \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
  2. Applied rewrites100.0%

    \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot e^{x \cdot x}}}{\sqrt{\pi}} \]
    3. associate-/l*N/A

      \[\leadsto \color{blue}{\left(\frac{\frac{\frac{1}{2}}{x \cdot x} - -1}{\left|x\right|} - \frac{\frac{-3}{4} \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot \frac{15}{8}}{\left|x\right|}\right) \cdot \frac{e^{x \cdot x}}{\sqrt{\pi}}} \]
  4. Applied rewrites99.9%

    \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \sqrt{\pi}}} \]
  5. Evaluated real constant99.9%

    \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \left(\frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} - \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\right) \cdot e^{x \cdot x}}{\left|x\right| \cdot \color{blue}{1.772453850905516}} \]
  6. Applied rewrites49.6%

    \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(e^{x \cdot x} \cdot 0.5641895835477563\right)}{\left|x\right|}} \]
  7. Add Preprocessing

Alternative 6: 27.6% accurate, 2.6× speedup?

\[\begin{array}{l} t_0 := \left(\left(x \cdot x\right) \cdot x\right) \cdot x\\ t_1 := \left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{t\_0}\\ \mathbf{if}\;x \leq 1.15 \cdot 10^{+77}:\\ \;\;\;\;\frac{\frac{\frac{\left(\left(t\_1 \cdot \left|x\right|\right) \cdot \left(x \cdot x\right)\right) \cdot t\_0 + \left|x\right| \cdot 1.875}{t\_0}}{t\_0} \cdot 1}{\sqrt{\pi}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{\left(\left|x\right| \cdot \left(\frac{1.875}{t\_0} + t\_1 \cdot \left(x \cdot x\right)\right)\right) \cdot 1}{x \cdot x}}{x \cdot x}}{\sqrt{\pi}}\\ \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (* (* x x) x) x))
       (t_1 (- (- (/ 0.5 (* x x)) -1.0) (/ -0.75 t_0))))
  (if (<= x 1.15e+77)
    (/
     (*
      (/
       (/
        (+ (* (* (* t_1 (fabs x)) (* x x)) t_0) (* (fabs x) 1.875))
        t_0)
       t_0)
      1.0)
     (sqrt PI))
    (/
     (/
      (/
       (* (* (fabs x) (+ (/ 1.875 t_0) (* t_1 (* x x)))) 1.0)
       (* x x))
      (* x x))
     (sqrt PI)))))
double code(double x) {
	double t_0 = ((x * x) * x) * x;
	double t_1 = ((0.5 / (x * x)) - -1.0) - (-0.75 / t_0);
	double tmp;
	if (x <= 1.15e+77) {
		tmp = (((((((t_1 * fabs(x)) * (x * x)) * t_0) + (fabs(x) * 1.875)) / t_0) / t_0) * 1.0) / sqrt(((double) M_PI));
	} else {
		tmp = ((((fabs(x) * ((1.875 / t_0) + (t_1 * (x * x)))) * 1.0) / (x * x)) / (x * x)) / sqrt(((double) M_PI));
	}
	return tmp;
}
public static double code(double x) {
	double t_0 = ((x * x) * x) * x;
	double t_1 = ((0.5 / (x * x)) - -1.0) - (-0.75 / t_0);
	double tmp;
	if (x <= 1.15e+77) {
		tmp = (((((((t_1 * Math.abs(x)) * (x * x)) * t_0) + (Math.abs(x) * 1.875)) / t_0) / t_0) * 1.0) / Math.sqrt(Math.PI);
	} else {
		tmp = ((((Math.abs(x) * ((1.875 / t_0) + (t_1 * (x * x)))) * 1.0) / (x * x)) / (x * x)) / Math.sqrt(Math.PI);
	}
	return tmp;
}
def code(x):
	t_0 = ((x * x) * x) * x
	t_1 = ((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)
	tmp = 0
	if x <= 1.15e+77:
		tmp = (((((((t_1 * math.fabs(x)) * (x * x)) * t_0) + (math.fabs(x) * 1.875)) / t_0) / t_0) * 1.0) / math.sqrt(math.pi)
	else:
		tmp = ((((math.fabs(x) * ((1.875 / t_0) + (t_1 * (x * x)))) * 1.0) / (x * x)) / (x * x)) / math.sqrt(math.pi)
	return tmp
function code(x)
	t_0 = Float64(Float64(Float64(x * x) * x) * x)
	t_1 = Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(-0.75 / t_0))
	tmp = 0.0
	if (x <= 1.15e+77)
		tmp = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(t_1 * abs(x)) * Float64(x * x)) * t_0) + Float64(abs(x) * 1.875)) / t_0) / t_0) * 1.0) / sqrt(pi));
	else
		tmp = Float64(Float64(Float64(Float64(Float64(abs(x) * Float64(Float64(1.875 / t_0) + Float64(t_1 * Float64(x * x)))) * 1.0) / Float64(x * x)) / Float64(x * x)) / sqrt(pi));
	end
	return tmp
end
function tmp_2 = code(x)
	t_0 = ((x * x) * x) * x;
	t_1 = ((0.5 / (x * x)) - -1.0) - (-0.75 / t_0);
	tmp = 0.0;
	if (x <= 1.15e+77)
		tmp = (((((((t_1 * abs(x)) * (x * x)) * t_0) + (abs(x) * 1.875)) / t_0) / t_0) * 1.0) / sqrt(pi);
	else
		tmp = ((((abs(x) * ((1.875 / t_0) + (t_1 * (x * x)))) * 1.0) / (x * x)) / (x * x)) / sqrt(pi);
	end
	tmp_2 = tmp;
end
code[x_] := Block[{t$95$0 = N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]}, Block[{t$95$1 = N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(-0.75 / t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, 1.15e+77], N[(N[(N[(N[(N[(N[(N[(N[(t$95$1 * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[(x * x), $MachinePrecision]), $MachinePrecision] * t$95$0), $MachinePrecision] + N[(N[Abs[x], $MachinePrecision] * 1.875), $MachinePrecision]), $MachinePrecision] / t$95$0), $MachinePrecision] / t$95$0), $MachinePrecision] * 1.0), $MachinePrecision] / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(N[Abs[x], $MachinePrecision] * N[(N[(1.875 / t$95$0), $MachinePrecision] + N[(t$95$1 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * 1.0), $MachinePrecision] / N[(x * x), $MachinePrecision]), $MachinePrecision] / N[(x * x), $MachinePrecision]), $MachinePrecision] / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
t_0 := \left(\left(x \cdot x\right) \cdot x\right) \cdot x\\
t_1 := \left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{t\_0}\\
\mathbf{if}\;x \leq 1.15 \cdot 10^{+77}:\\
\;\;\;\;\frac{\frac{\frac{\left(\left(t\_1 \cdot \left|x\right|\right) \cdot \left(x \cdot x\right)\right) \cdot t\_0 + \left|x\right| \cdot 1.875}{t\_0}}{t\_0} \cdot 1}{\sqrt{\pi}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\left(\left|x\right| \cdot \left(\frac{1.875}{t\_0} + t\_1 \cdot \left(x \cdot x\right)\right)\right) \cdot 1}{x \cdot x}}{x \cdot x}}{\sqrt{\pi}}\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.15e77

    1. Initial program 100.0%

      \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
    2. Applied rewrites100.0%

      \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
    3. Taylor expanded in x around 0

      \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
    4. Step-by-step derivation
      1. Applied rewrites2.3%

        \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
      2. Applied rewrites0.9%

        \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}} \cdot 1}{\sqrt{\pi}} \]
      3. Step-by-step derivation
        1. lift-+.f64N/A

          \[\leadsto \frac{\frac{\color{blue}{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]
        2. lift-*.f64N/A

          \[\leadsto \frac{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \color{blue}{\left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]
        3. lift-/.f64N/A

          \[\leadsto \frac{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \color{blue}{\frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]
        4. associate-*r/N/A

          \[\leadsto \frac{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \color{blue}{\frac{\left|x\right| \cdot \frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]
        5. add-to-fractionN/A

          \[\leadsto \frac{\frac{\color{blue}{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) + \left|x\right| \cdot \frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]
        6. lower-/.f64N/A

          \[\leadsto \frac{\frac{\color{blue}{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) + \left|x\right| \cdot \frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]
      4. Applied rewrites11.1%

        \[\leadsto \frac{\frac{\color{blue}{\frac{\left(\left(\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left|x\right|\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) + \left|x\right| \cdot 1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}{\sqrt{\pi}} \]

      if 1.15e77 < x

      1. Initial program 100.0%

        \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
      2. Applied rewrites100.0%

        \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
      3. Taylor expanded in x around 0

        \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
      4. Step-by-step derivation
        1. Applied rewrites2.3%

          \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
        2. Applied rewrites0.9%

          \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}} \cdot 1}{\sqrt{\pi}} \]
        3. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}}{\sqrt{\pi}} \]
          2. lift-/.f64N/A

            \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}} \cdot 1}{\sqrt{\pi}} \]
          3. associate-*l/N/A

            \[\leadsto \frac{\color{blue}{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\sqrt{\pi}} \]
          4. lift-*.f64N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\color{blue}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\sqrt{\pi}} \]
          5. lift-*.f64N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\color{blue}{\left(\left(x \cdot x\right) \cdot x\right)} \cdot x}}{\sqrt{\pi}} \]
          6. associate-*l*N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\color{blue}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}}{\sqrt{\pi}} \]
          7. lift-*.f64N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\left(x \cdot x\right) \cdot \color{blue}{\left(x \cdot x\right)}}}{\sqrt{\pi}} \]
        4. Applied rewrites17.2%

          \[\leadsto \frac{\color{blue}{\frac{\frac{\left(\left|x\right| \cdot \left(\frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} + \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 1}{x \cdot x}}{x \cdot x}}}{\sqrt{\pi}} \]
      5. Recombined 2 regimes into one program.
      6. Add Preprocessing

      Alternative 7: 17.2% accurate, 3.0× speedup?

      \[\begin{array}{l} t_0 := \left(\left(x \cdot x\right) \cdot x\right) \cdot x\\ \frac{\frac{\frac{\left(\left|x\right| \cdot \left(\frac{1.875}{t\_0} + \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{t\_0}\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 1}{x \cdot x}}{x \cdot x}}{\sqrt{\pi}} \end{array} \]
      (FPCore (x)
        :precision binary64
        (let* ((t_0 (* (* (* x x) x) x)))
        (/
         (/
          (/
           (*
            (*
             (fabs x)
             (+
              (/ 1.875 t_0)
              (* (- (- (/ 0.5 (* x x)) -1.0) (/ -0.75 t_0)) (* x x))))
            1.0)
           (* x x))
          (* x x))
         (sqrt PI))))
      double code(double x) {
      	double t_0 = ((x * x) * x) * x;
      	return ((((fabs(x) * ((1.875 / t_0) + ((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) * (x * x)))) * 1.0) / (x * x)) / (x * x)) / sqrt(((double) M_PI));
      }
      
      public static double code(double x) {
      	double t_0 = ((x * x) * x) * x;
      	return ((((Math.abs(x) * ((1.875 / t_0) + ((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) * (x * x)))) * 1.0) / (x * x)) / (x * x)) / Math.sqrt(Math.PI);
      }
      
      def code(x):
      	t_0 = ((x * x) * x) * x
      	return ((((math.fabs(x) * ((1.875 / t_0) + ((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) * (x * x)))) * 1.0) / (x * x)) / (x * x)) / math.sqrt(math.pi)
      
      function code(x)
      	t_0 = Float64(Float64(Float64(x * x) * x) * x)
      	return Float64(Float64(Float64(Float64(Float64(abs(x) * Float64(Float64(1.875 / t_0) + Float64(Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(-0.75 / t_0)) * Float64(x * x)))) * 1.0) / Float64(x * x)) / Float64(x * x)) / sqrt(pi))
      end
      
      function tmp = code(x)
      	t_0 = ((x * x) * x) * x;
      	tmp = ((((abs(x) * ((1.875 / t_0) + ((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) * (x * x)))) * 1.0) / (x * x)) / (x * x)) / sqrt(pi);
      end
      
      code[x_] := Block[{t$95$0 = N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]}, N[(N[(N[(N[(N[(N[Abs[x], $MachinePrecision] * N[(N[(1.875 / t$95$0), $MachinePrecision] + N[(N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(-0.75 / t$95$0), $MachinePrecision]), $MachinePrecision] * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * 1.0), $MachinePrecision] / N[(x * x), $MachinePrecision]), $MachinePrecision] / N[(x * x), $MachinePrecision]), $MachinePrecision] / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      t_0 := \left(\left(x \cdot x\right) \cdot x\right) \cdot x\\
      \frac{\frac{\frac{\left(\left|x\right| \cdot \left(\frac{1.875}{t\_0} + \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{t\_0}\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 1}{x \cdot x}}{x \cdot x}}{\sqrt{\pi}}
      \end{array}
      
      Derivation
      1. Initial program 100.0%

        \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
      2. Applied rewrites100.0%

        \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
      3. Taylor expanded in x around 0

        \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
      4. Step-by-step derivation
        1. Applied rewrites2.3%

          \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
        2. Applied rewrites0.9%

          \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}} \cdot 1}{\sqrt{\pi}} \]
        3. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} \cdot 1}}{\sqrt{\pi}} \]
          2. lift-/.f64N/A

            \[\leadsto \frac{\color{blue}{\frac{\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}} \cdot 1}{\sqrt{\pi}} \]
          3. associate-*l/N/A

            \[\leadsto \frac{\color{blue}{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\sqrt{\pi}} \]
          4. lift-*.f64N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\color{blue}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}}{\sqrt{\pi}} \]
          5. lift-*.f64N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\color{blue}{\left(\left(x \cdot x\right) \cdot x\right)} \cdot x}}{\sqrt{\pi}} \]
          6. associate-*l*N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\color{blue}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}}{\sqrt{\pi}} \]
          7. lift-*.f64N/A

            \[\leadsto \frac{\frac{\left(\left(\left(\frac{\frac{1}{2}}{x \cdot x} - -1\right) - \frac{\frac{-3}{4}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right) + \left|x\right| \cdot \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot 1}{\left(x \cdot x\right) \cdot \color{blue}{\left(x \cdot x\right)}}}{\sqrt{\pi}} \]
        4. Applied rewrites17.2%

          \[\leadsto \frac{\color{blue}{\frac{\frac{\left(\left|x\right| \cdot \left(\frac{1.875}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x} + \left(\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 1}{x \cdot x}}{x \cdot x}}}{\sqrt{\pi}} \]
        5. Add Preprocessing

        Alternative 8: 2.3% accurate, 3.5× speedup?

        \[\begin{array}{l} t_0 := \left(\left(x \cdot x\right) \cdot x\right) \cdot x\\ \frac{\left(\frac{\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{t\_0}}{\left|x\right|} + \frac{1.875}{t\_0 \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right)}\right) \cdot 1}{\sqrt{\pi}} \end{array} \]
        (FPCore (x)
          :precision binary64
          (let* ((t_0 (* (* (* x x) x) x)))
          (/
           (*
            (+
             (/ (- (- (/ 0.5 (* x x)) -1.0) (/ -0.75 t_0)) (fabs x))
             (/ 1.875 (* t_0 (* (* x x) (fabs x)))))
            1.0)
           (sqrt PI))))
        double code(double x) {
        	double t_0 = ((x * x) * x) * x;
        	return ((((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) / fabs(x)) + (1.875 / (t_0 * ((x * x) * fabs(x))))) * 1.0) / sqrt(((double) M_PI));
        }
        
        public static double code(double x) {
        	double t_0 = ((x * x) * x) * x;
        	return ((((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) / Math.abs(x)) + (1.875 / (t_0 * ((x * x) * Math.abs(x))))) * 1.0) / Math.sqrt(Math.PI);
        }
        
        def code(x):
        	t_0 = ((x * x) * x) * x
        	return ((((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) / math.fabs(x)) + (1.875 / (t_0 * ((x * x) * math.fabs(x))))) * 1.0) / math.sqrt(math.pi)
        
        function code(x)
        	t_0 = Float64(Float64(Float64(x * x) * x) * x)
        	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) - Float64(-0.75 / t_0)) / abs(x)) + Float64(1.875 / Float64(t_0 * Float64(Float64(x * x) * abs(x))))) * 1.0) / sqrt(pi))
        end
        
        function tmp = code(x)
        	t_0 = ((x * x) * x) * x;
        	tmp = ((((((0.5 / (x * x)) - -1.0) - (-0.75 / t_0)) / abs(x)) + (1.875 / (t_0 * ((x * x) * abs(x))))) * 1.0) / sqrt(pi);
        end
        
        code[x_] := Block[{t$95$0 = N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]}, N[(N[(N[(N[(N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] - N[(-0.75 / t$95$0), $MachinePrecision]), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision] + N[(1.875 / N[(t$95$0 * N[(N[(x * x), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * 1.0), $MachinePrecision] / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision]]
        
        \begin{array}{l}
        t_0 := \left(\left(x \cdot x\right) \cdot x\right) \cdot x\\
        \frac{\left(\frac{\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{t\_0}}{\left|x\right|} + \frac{1.875}{t\_0 \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right)}\right) \cdot 1}{\sqrt{\pi}}
        \end{array}
        
        Derivation
        1. Initial program 100.0%

          \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
        2. Applied rewrites100.0%

          \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
        3. Taylor expanded in x around 0

          \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
        4. Step-by-step derivation
          1. Applied rewrites2.3%

            \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
          2. Applied rewrites2.3%

            \[\leadsto \frac{\color{blue}{\left(\frac{\left(\frac{0.5}{x \cdot x} - -1\right) - \frac{-0.75}{\left(\left(x \cdot x\right) \cdot x\right) \cdot x}}{\left|x\right|} + \frac{1.875}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left|x\right|\right)}\right)} \cdot 1}{\sqrt{\pi}} \]
          3. Add Preprocessing

          Alternative 9: 2.2% accurate, 4.3× speedup?

          \[\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) \cdot \left|x\right| - \frac{-1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x} \cdot \left|x\right|\right) \cdot 1}{\left(x \cdot x\right) \cdot \sqrt{\pi}} \]
          (FPCore (x)
            :precision binary64
            (/
           (*
            (-
             (* (- (/ 0.5 (* x x)) -1.0) (fabs x))
             (* (/ -1.875 (* (* (* (* (* x x) x) x) x) x)) (fabs x)))
            1.0)
           (* (* x x) (sqrt PI))))
          double code(double x) {
          	return (((((0.5 / (x * x)) - -1.0) * fabs(x)) - ((-1.875 / (((((x * x) * x) * x) * x) * x)) * fabs(x))) * 1.0) / ((x * x) * sqrt(((double) M_PI)));
          }
          
          public static double code(double x) {
          	return (((((0.5 / (x * x)) - -1.0) * Math.abs(x)) - ((-1.875 / (((((x * x) * x) * x) * x) * x)) * Math.abs(x))) * 1.0) / ((x * x) * Math.sqrt(Math.PI));
          }
          
          def code(x):
          	return (((((0.5 / (x * x)) - -1.0) * math.fabs(x)) - ((-1.875 / (((((x * x) * x) * x) * x) * x)) * math.fabs(x))) * 1.0) / ((x * x) * math.sqrt(math.pi))
          
          function code(x)
          	return Float64(Float64(Float64(Float64(Float64(Float64(0.5 / Float64(x * x)) - -1.0) * abs(x)) - Float64(Float64(-1.875 / Float64(Float64(Float64(Float64(Float64(x * x) * x) * x) * x) * x)) * abs(x))) * 1.0) / Float64(Float64(x * x) * sqrt(pi)))
          end
          
          function tmp = code(x)
          	tmp = (((((0.5 / (x * x)) - -1.0) * abs(x)) - ((-1.875 / (((((x * x) * x) * x) * x) * x)) * abs(x))) * 1.0) / ((x * x) * sqrt(pi));
          end
          
          code[x_] := N[(N[(N[(N[(N[(N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] - N[(N[(-1.875 / N[(N[(N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * 1.0), $MachinePrecision] / N[(N[(x * x), $MachinePrecision] * N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
          
          \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) \cdot \left|x\right| - \frac{-1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x} \cdot \left|x\right|\right) \cdot 1}{\left(x \cdot x\right) \cdot \sqrt{\pi}}
          
          Derivation
          1. Initial program 100.0%

            \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
          2. Applied rewrites100.0%

            \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
          3. Taylor expanded in x around 0

            \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
          4. Step-by-step derivation
            1. Applied rewrites2.3%

              \[\leadsto \frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot \color{blue}{1}}{\sqrt{\pi}} \]
            2. Applied rewrites1.4%

              \[\leadsto \color{blue}{\frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) \cdot \left|x\right| - \frac{-0.75 \cdot \left(x \cdot x\right) - 1.875}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x} \cdot \left|x\right|\right) \cdot 1}{\left(x \cdot x\right) \cdot \sqrt{\pi}}} \]
            3. Taylor expanded in x around 0

              \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) \cdot \left|x\right| - \frac{\color{blue}{\frac{-15}{8}}}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x} \cdot \left|x\right|\right) \cdot 1}{\left(x \cdot x\right) \cdot \sqrt{\pi}} \]
            4. Step-by-step derivation
              1. Applied rewrites2.2%

                \[\leadsto \frac{\left(\left(\frac{0.5}{x \cdot x} - -1\right) \cdot \left|x\right| - \frac{\color{blue}{-1.875}}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x} \cdot \left|x\right|\right) \cdot 1}{\left(x \cdot x\right) \cdot \sqrt{\pi}} \]
              2. Add Preprocessing

              Alternative 10: 1.7% accurate, 7.2× speedup?

              \[\frac{\frac{1.875}{\sqrt{\pi} \cdot \left|x\right|}}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x} \]
              (FPCore (x)
                :precision binary64
                (/ (/ 1.875 (* (sqrt PI) (fabs x))) (* (* (* (* (* x x) x) x) x) x)))
              double code(double x) {
              	return (1.875 / (sqrt(((double) M_PI)) * fabs(x))) / (((((x * x) * x) * x) * x) * x);
              }
              
              public static double code(double x) {
              	return (1.875 / (Math.sqrt(Math.PI) * Math.abs(x))) / (((((x * x) * x) * x) * x) * x);
              }
              
              def code(x):
              	return (1.875 / (math.sqrt(math.pi) * math.fabs(x))) / (((((x * x) * x) * x) * x) * x)
              
              function code(x)
              	return Float64(Float64(1.875 / Float64(sqrt(pi) * abs(x))) / Float64(Float64(Float64(Float64(Float64(x * x) * x) * x) * x) * x))
              end
              
              function tmp = code(x)
              	tmp = (1.875 / (sqrt(pi) * abs(x))) / (((((x * x) * x) * x) * x) * x);
              end
              
              code[x_] := N[(N[(1.875 / N[(N[Sqrt[Pi], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision]
              
              \frac{\frac{1.875}{\sqrt{\pi} \cdot \left|x\right|}}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}
              
              Derivation
              1. Initial program 100.0%

                \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
              2. Applied rewrites100.0%

                \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
              3. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
              4. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\color{blue}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\mathsf{PI}\left(\right)}\right)}} \]
                2. lower-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \color{blue}{\left(\left|x\right| \cdot \sqrt{\mathsf{PI}\left(\right)}\right)}} \]
                3. lower-pow.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\mathsf{PI}\left(\right)}\right)} \]
                4. lower-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \color{blue}{\sqrt{\mathsf{PI}\left(\right)}}\right)} \]
                5. lower-fabs.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\color{blue}{\mathsf{PI}\left(\right)}}\right)} \]
                6. lower-sqrt.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\mathsf{PI}\left(\right)}\right)} \]
                7. lower-PI.f641.7%

                  \[\leadsto \frac{1.875}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
              5. Applied rewrites1.7%

                \[\leadsto \color{blue}{\frac{1.875}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
              6. Step-by-step derivation
                1. lift-/.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\color{blue}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
                2. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \color{blue}{\left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
                3. *-commutativeN/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \color{blue}{{x}^{6}}} \]
                4. lift-pow.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot {x}^{\color{blue}{6}}} \]
                5. metadata-evalN/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot {x}^{\left(3 + \color{blue}{3}\right)}} \]
                6. pow-prod-upN/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left({x}^{3} \cdot \color{blue}{{x}^{3}}\right)} \]
                7. pow3N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot {\color{blue}{x}}^{3}\right)} \]
                8. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot {x}^{3}\right)} \]
                9. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot {\color{blue}{x}}^{3}\right)} \]
                10. pow3N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \color{blue}{x}\right)\right)} \]
                11. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)} \]
                12. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \color{blue}{x}\right)\right)} \]
                13. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left|x\right| \cdot \sqrt{\pi}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \color{blue}{\left(\left(x \cdot x\right) \cdot x\right)}\right)} \]
                14. associate-/r*N/A

                  \[\leadsto \frac{\frac{\frac{15}{8}}{\left|x\right| \cdot \sqrt{\pi}}}{\color{blue}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}} \]
                15. lower-/.f64N/A

                  \[\leadsto \frac{\frac{\frac{15}{8}}{\left|x\right| \cdot \sqrt{\pi}}}{\color{blue}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}} \]
              7. Applied rewrites1.7%

                \[\leadsto \frac{\frac{1.875}{\sqrt{\pi} \cdot \left|x\right|}}{\color{blue}{\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}} \]
              8. Add Preprocessing

              Alternative 11: 1.7% accurate, 7.9× speedup?

              \[\frac{1.875}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\sqrt{\pi} \cdot \left|x\right|\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)\right)} \]
              (FPCore (x)
                :precision binary64
                (/ 1.875 (* (* x x) (* x (* (* (sqrt PI) (fabs x)) (* (* x x) x))))))
              double code(double x) {
              	return 1.875 / ((x * x) * (x * ((sqrt(((double) M_PI)) * fabs(x)) * ((x * x) * x))));
              }
              
              public static double code(double x) {
              	return 1.875 / ((x * x) * (x * ((Math.sqrt(Math.PI) * Math.abs(x)) * ((x * x) * x))));
              }
              
              def code(x):
              	return 1.875 / ((x * x) * (x * ((math.sqrt(math.pi) * math.fabs(x)) * ((x * x) * x))))
              
              function code(x)
              	return Float64(1.875 / Float64(Float64(x * x) * Float64(x * Float64(Float64(sqrt(pi) * abs(x)) * Float64(Float64(x * x) * x)))))
              end
              
              function tmp = code(x)
              	tmp = 1.875 / ((x * x) * (x * ((sqrt(pi) * abs(x)) * ((x * x) * x))));
              end
              
              code[x_] := N[(1.875 / N[(N[(x * x), $MachinePrecision] * N[(x * N[(N[(N[Sqrt[Pi], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[(N[(x * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
              
              \frac{1.875}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\sqrt{\pi} \cdot \left|x\right|\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)\right)}
              
              Derivation
              1. Initial program 100.0%

                \[\left(\frac{1}{\sqrt{\pi}} \cdot e^{\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\left(\frac{1}{\left|x\right|} + \frac{1}{2} \cdot \left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{3}{4} \cdot \left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) + \frac{15}{8} \cdot \left(\left(\left(\left(\left(\left(\frac{1}{\left|x\right|} \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right) \cdot \frac{1}{\left|x\right|}\right)\right) \]
              2. Applied rewrites100.0%

                \[\leadsto \color{blue}{\frac{\left(\frac{\frac{0.5}{x \cdot x} - -1}{\left|x\right|} - \frac{-0.75 \cdot \frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \frac{\frac{1}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}}{x \cdot x} \cdot 1.875}{\left|x\right|}\right) \cdot e^{x \cdot x}}{\sqrt{\pi}}} \]
              3. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
              4. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\color{blue}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\mathsf{PI}\left(\right)}\right)}} \]
                2. lower-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \color{blue}{\left(\left|x\right| \cdot \sqrt{\mathsf{PI}\left(\right)}\right)}} \]
                3. lower-pow.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\mathsf{PI}\left(\right)}\right)} \]
                4. lower-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \color{blue}{\sqrt{\mathsf{PI}\left(\right)}}\right)} \]
                5. lower-fabs.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\color{blue}{\mathsf{PI}\left(\right)}}\right)} \]
                6. lower-sqrt.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\mathsf{PI}\left(\right)}\right)} \]
                7. lower-PI.f641.7%

                  \[\leadsto \frac{1.875}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
              5. Applied rewrites1.7%

                \[\leadsto \color{blue}{\frac{1.875}{{x}^{6} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
              6. Step-by-step derivation
                1. lift-pow.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{6} \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\pi}\right)} \]
                2. metadata-evalN/A

                  \[\leadsto \frac{\frac{15}{8}}{{x}^{\left(3 + 3\right)} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
                3. pow-prod-upN/A

                  \[\leadsto \frac{\frac{15}{8}}{\left({x}^{3} \cdot {x}^{3}\right) \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\pi}\right)} \]
                4. pow3N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot {x}^{3}\right) \cdot \left(\left|\color{blue}{x}\right| \cdot \sqrt{\pi}\right)} \]
                5. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot {x}^{3}\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
                6. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot {x}^{3}\right) \cdot \left(\left|\color{blue}{x}\right| \cdot \sqrt{\pi}\right)} \]
                7. pow3N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
                8. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
                9. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)} \]
                10. lift-*.f641.7%

                  \[\leadsto \frac{1.875}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\pi}\right)} \]
              7. Applied rewrites1.7%

                \[\leadsto \frac{1.875}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\pi}\right)} \]
              8. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \color{blue}{\left(\left|x\right| \cdot \sqrt{\pi}\right)}} \]
                2. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\color{blue}{\left|x\right|} \cdot \sqrt{\pi}\right)} \]
                3. associate-*l*N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \color{blue}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)\right)}} \]
                4. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\color{blue}{\left(\left(x \cdot x\right) \cdot x\right)} \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)\right)} \]
                5. associate-*l*N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \color{blue}{\left(x \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)\right)\right)}} \]
                6. lower-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \color{blue}{\left(x \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)\right)\right)}} \]
                7. lower-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \left(x \cdot \color{blue}{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left|x\right| \cdot \sqrt{\pi}\right)\right)}\right)} \]
                8. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left|x\right| \cdot \color{blue}{\sqrt{\pi}}\right)\right)\right)} \]
                9. *-commutativeN/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\sqrt{\pi} \cdot \color{blue}{\left|x\right|}\right)\right)\right)} \]
                10. lift-*.f64N/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\sqrt{\pi} \cdot \color{blue}{\left|x\right|}\right)\right)\right)} \]
                11. *-commutativeN/A

                  \[\leadsto \frac{\frac{15}{8}}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\sqrt{\pi} \cdot \left|x\right|\right) \cdot \color{blue}{\left(\left(x \cdot x\right) \cdot x\right)}\right)\right)} \]
                12. lower-*.f641.7%

                  \[\leadsto \frac{1.875}{\left(x \cdot x\right) \cdot \left(x \cdot \left(\left(\sqrt{\pi} \cdot \left|x\right|\right) \cdot \color{blue}{\left(\left(x \cdot x\right) \cdot x\right)}\right)\right)} \]
              9. Applied rewrites1.7%

                \[\leadsto \frac{1.875}{\left(x \cdot x\right) \cdot \color{blue}{\left(x \cdot \left(\left(\sqrt{\pi} \cdot \left|x\right|\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)\right)}} \]
              10. Add Preprocessing

              Reproduce

              ?
              herbie shell --seed 2025258 
              (FPCore (x)
                :name "Jmat.Real.erfi, branch x greater than or equal to 5"
                :precision binary64
                :pre (>= x 0.5)
                (* (* (/ 1.0 (sqrt PI)) (exp (* (fabs x) (fabs x)))) (+ (+ (+ (/ 1.0 (fabs x)) (* (/ 1.0 2.0) (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))) (* (/ 3.0 4.0) (* (* (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))) (* (/ 15.0 8.0) (* (* (* (* (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x)))))))