Rosa's FloatVsDoubleBenchmark

Percentage Accurate: 70.4% → 99.1%
Time: 20.8s
Alternatives: 25
Speedup: 5.3×

Specification

?
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(3 \cdot x1\right) \cdot x1\\ t_1 := x1 \cdot x1 + 1\\ t_2 := \frac{\left(t\_0 + 2 \cdot x2\right) - x1}{t\_1}\\ x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot t\_2\right) \cdot \left(t\_2 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot t\_2 - 6\right)\right) \cdot t\_1 + t\_0 \cdot t\_2\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(t\_0 - 2 \cdot x2\right) - x1}{t\_1}\right) \end{array} \end{array} \]
(FPCore (x1 x2)
 :precision binary64
 (let* ((t_0 (* (* 3.0 x1) x1))
        (t_1 (+ (* x1 x1) 1.0))
        (t_2 (/ (- (+ t_0 (* 2.0 x2)) x1) t_1)))
   (+
    x1
    (+
     (+
      (+
       (+
        (*
         (+
          (* (* (* 2.0 x1) t_2) (- t_2 3.0))
          (* (* x1 x1) (- (* 4.0 t_2) 6.0)))
         t_1)
        (* t_0 t_2))
       (* (* x1 x1) x1))
      x1)
     (* 3.0 (/ (- (- t_0 (* 2.0 x2)) x1) t_1))))))
double code(double x1, double x2) {
	double t_0 = (3.0 * x1) * x1;
	double t_1 = (x1 * x1) + 1.0;
	double t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1;
	return x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)));
}
real(8) function code(x1, x2)
    real(8), intent (in) :: x1
    real(8), intent (in) :: x2
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    t_0 = (3.0d0 * x1) * x1
    t_1 = (x1 * x1) + 1.0d0
    t_2 = ((t_0 + (2.0d0 * x2)) - x1) / t_1
    code = x1 + (((((((((2.0d0 * x1) * t_2) * (t_2 - 3.0d0)) + ((x1 * x1) * ((4.0d0 * t_2) - 6.0d0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0d0 * (((t_0 - (2.0d0 * x2)) - x1) / t_1)))
end function
public static double code(double x1, double x2) {
	double t_0 = (3.0 * x1) * x1;
	double t_1 = (x1 * x1) + 1.0;
	double t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1;
	return x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)));
}
def code(x1, x2):
	t_0 = (3.0 * x1) * x1
	t_1 = (x1 * x1) + 1.0
	t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1
	return x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)))
function code(x1, x2)
	t_0 = Float64(Float64(3.0 * x1) * x1)
	t_1 = Float64(Float64(x1 * x1) + 1.0)
	t_2 = Float64(Float64(Float64(t_0 + Float64(2.0 * x2)) - x1) / t_1)
	return Float64(x1 + Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(2.0 * x1) * t_2) * Float64(t_2 - 3.0)) + Float64(Float64(x1 * x1) * Float64(Float64(4.0 * t_2) - 6.0))) * t_1) + Float64(t_0 * t_2)) + Float64(Float64(x1 * x1) * x1)) + x1) + Float64(3.0 * Float64(Float64(Float64(t_0 - Float64(2.0 * x2)) - x1) / t_1))))
end
function tmp = code(x1, x2)
	t_0 = (3.0 * x1) * x1;
	t_1 = (x1 * x1) + 1.0;
	t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1;
	tmp = x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)));
end
code[x1_, x2_] := Block[{t$95$0 = N[(N[(3.0 * x1), $MachinePrecision] * x1), $MachinePrecision]}, Block[{t$95$1 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(t$95$0 + N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$1), $MachinePrecision]}, N[(x1 + N[(N[(N[(N[(N[(N[(N[(N[(N[(2.0 * x1), $MachinePrecision] * t$95$2), $MachinePrecision] * N[(t$95$2 - 3.0), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * N[(N[(4.0 * t$95$2), $MachinePrecision] - 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision] + N[(t$95$0 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * x1), $MachinePrecision]), $MachinePrecision] + x1), $MachinePrecision] + N[(3.0 * N[(N[(N[(t$95$0 - N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(3 \cdot x1\right) \cdot x1\\
t_1 := x1 \cdot x1 + 1\\
t_2 := \frac{\left(t\_0 + 2 \cdot x2\right) - x1}{t\_1}\\
x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot t\_2\right) \cdot \left(t\_2 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot t\_2 - 6\right)\right) \cdot t\_1 + t\_0 \cdot t\_2\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(t\_0 - 2 \cdot x2\right) - x1}{t\_1}\right)
\end{array}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 25 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: 70.4% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(3 \cdot x1\right) \cdot x1\\ t_1 := x1 \cdot x1 + 1\\ t_2 := \frac{\left(t\_0 + 2 \cdot x2\right) - x1}{t\_1}\\ x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot t\_2\right) \cdot \left(t\_2 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot t\_2 - 6\right)\right) \cdot t\_1 + t\_0 \cdot t\_2\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(t\_0 - 2 \cdot x2\right) - x1}{t\_1}\right) \end{array} \end{array} \]
(FPCore (x1 x2)
 :precision binary64
 (let* ((t_0 (* (* 3.0 x1) x1))
        (t_1 (+ (* x1 x1) 1.0))
        (t_2 (/ (- (+ t_0 (* 2.0 x2)) x1) t_1)))
   (+
    x1
    (+
     (+
      (+
       (+
        (*
         (+
          (* (* (* 2.0 x1) t_2) (- t_2 3.0))
          (* (* x1 x1) (- (* 4.0 t_2) 6.0)))
         t_1)
        (* t_0 t_2))
       (* (* x1 x1) x1))
      x1)
     (* 3.0 (/ (- (- t_0 (* 2.0 x2)) x1) t_1))))))
double code(double x1, double x2) {
	double t_0 = (3.0 * x1) * x1;
	double t_1 = (x1 * x1) + 1.0;
	double t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1;
	return x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)));
}
real(8) function code(x1, x2)
    real(8), intent (in) :: x1
    real(8), intent (in) :: x2
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    t_0 = (3.0d0 * x1) * x1
    t_1 = (x1 * x1) + 1.0d0
    t_2 = ((t_0 + (2.0d0 * x2)) - x1) / t_1
    code = x1 + (((((((((2.0d0 * x1) * t_2) * (t_2 - 3.0d0)) + ((x1 * x1) * ((4.0d0 * t_2) - 6.0d0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0d0 * (((t_0 - (2.0d0 * x2)) - x1) / t_1)))
end function
public static double code(double x1, double x2) {
	double t_0 = (3.0 * x1) * x1;
	double t_1 = (x1 * x1) + 1.0;
	double t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1;
	return x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)));
}
def code(x1, x2):
	t_0 = (3.0 * x1) * x1
	t_1 = (x1 * x1) + 1.0
	t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1
	return x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)))
function code(x1, x2)
	t_0 = Float64(Float64(3.0 * x1) * x1)
	t_1 = Float64(Float64(x1 * x1) + 1.0)
	t_2 = Float64(Float64(Float64(t_0 + Float64(2.0 * x2)) - x1) / t_1)
	return Float64(x1 + Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(2.0 * x1) * t_2) * Float64(t_2 - 3.0)) + Float64(Float64(x1 * x1) * Float64(Float64(4.0 * t_2) - 6.0))) * t_1) + Float64(t_0 * t_2)) + Float64(Float64(x1 * x1) * x1)) + x1) + Float64(3.0 * Float64(Float64(Float64(t_0 - Float64(2.0 * x2)) - x1) / t_1))))
end
function tmp = code(x1, x2)
	t_0 = (3.0 * x1) * x1;
	t_1 = (x1 * x1) + 1.0;
	t_2 = ((t_0 + (2.0 * x2)) - x1) / t_1;
	tmp = x1 + (((((((((2.0 * x1) * t_2) * (t_2 - 3.0)) + ((x1 * x1) * ((4.0 * t_2) - 6.0))) * t_1) + (t_0 * t_2)) + ((x1 * x1) * x1)) + x1) + (3.0 * (((t_0 - (2.0 * x2)) - x1) / t_1)));
end
code[x1_, x2_] := Block[{t$95$0 = N[(N[(3.0 * x1), $MachinePrecision] * x1), $MachinePrecision]}, Block[{t$95$1 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(t$95$0 + N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$1), $MachinePrecision]}, N[(x1 + N[(N[(N[(N[(N[(N[(N[(N[(N[(2.0 * x1), $MachinePrecision] * t$95$2), $MachinePrecision] * N[(t$95$2 - 3.0), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * N[(N[(4.0 * t$95$2), $MachinePrecision] - 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision] + N[(t$95$0 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * x1), $MachinePrecision]), $MachinePrecision] + x1), $MachinePrecision] + N[(3.0 * N[(N[(N[(t$95$0 - N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(3 \cdot x1\right) \cdot x1\\
t_1 := x1 \cdot x1 + 1\\
t_2 := \frac{\left(t\_0 + 2 \cdot x2\right) - x1}{t\_1}\\
x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot t\_2\right) \cdot \left(t\_2 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot t\_2 - 6\right)\right) \cdot t\_1 + t\_0 \cdot t\_2\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(t\_0 - 2 \cdot x2\right) - x1}{t\_1}\right)
\end{array}
\end{array}

Alternative 1: 99.1% accurate, 1.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot x1 + 1\\ t_1 := 2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\\ t_2 := 9 + \left(t\_0 \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{t\_1}{t\_0} \cdot \left(x1 \cdot \left(-6 + t\_1 \cdot \frac{2}{t\_0}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right)\\ \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq -0.00068:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;x1 \leq 0.0077:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + \left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right)\right)\\ \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\ \;\;\;\;t\_2\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \end{array} \]
(FPCore (x1 x2)
 :precision binary64
 (let* ((t_0 (+ (* x1 x1) 1.0))
        (t_1 (+ (* 2.0 x2) (* x1 (+ (* x1 3.0) -1.0))))
        (t_2
         (+
          9.0
          (+
           (*
            t_0
            (+
             (* x1 (* x1 -6.0))
             (*
              (/ t_1 t_0)
              (+ (* x1 (+ -6.0 (* t_1 (/ 2.0 t_0)))) (* (* x1 x1) 4.0)))))
           (* x1 (+ 2.0 (* x1 (+ x1 9.0))))))))
   (if (<= x1 -5.5e+102)
     (* x1 (* (* x1 x1) -3.0))
     (if (<= x1 -0.00068)
       t_2
       (if (<= x1 0.0077)
         (+
          (* x1 (+ -1.0 (* x1 9.0)))
          (* x2 (+ -6.0 (+ (* x1 (+ (* x1 12.0) -12.0)) (* 8.0 (* x1 x2))))))
         (if (<= x1 5e+153) t_2 (* x1 (* x1 9.0))))))))
double code(double x1, double x2) {
	double t_0 = (x1 * x1) + 1.0;
	double t_1 = (2.0 * x2) + (x1 * ((x1 * 3.0) + -1.0));
	double t_2 = 9.0 + ((t_0 * ((x1 * (x1 * -6.0)) + ((t_1 / t_0) * ((x1 * (-6.0 + (t_1 * (2.0 / t_0)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))));
	double tmp;
	if (x1 <= -5.5e+102) {
		tmp = x1 * ((x1 * x1) * -3.0);
	} else if (x1 <= -0.00068) {
		tmp = t_2;
	} else if (x1 <= 0.0077) {
		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))));
	} else if (x1 <= 5e+153) {
		tmp = t_2;
	} else {
		tmp = x1 * (x1 * 9.0);
	}
	return tmp;
}
real(8) function code(x1, x2)
    real(8), intent (in) :: x1
    real(8), intent (in) :: x2
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_0 = (x1 * x1) + 1.0d0
    t_1 = (2.0d0 * x2) + (x1 * ((x1 * 3.0d0) + (-1.0d0)))
    t_2 = 9.0d0 + ((t_0 * ((x1 * (x1 * (-6.0d0))) + ((t_1 / t_0) * ((x1 * ((-6.0d0) + (t_1 * (2.0d0 / t_0)))) + ((x1 * x1) * 4.0d0))))) + (x1 * (2.0d0 + (x1 * (x1 + 9.0d0)))))
    if (x1 <= (-5.5d+102)) then
        tmp = x1 * ((x1 * x1) * (-3.0d0))
    else if (x1 <= (-0.00068d0)) then
        tmp = t_2
    else if (x1 <= 0.0077d0) then
        tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * ((-6.0d0) + ((x1 * ((x1 * 12.0d0) + (-12.0d0))) + (8.0d0 * (x1 * x2)))))
    else if (x1 <= 5d+153) then
        tmp = t_2
    else
        tmp = x1 * (x1 * 9.0d0)
    end if
    code = tmp
end function
public static double code(double x1, double x2) {
	double t_0 = (x1 * x1) + 1.0;
	double t_1 = (2.0 * x2) + (x1 * ((x1 * 3.0) + -1.0));
	double t_2 = 9.0 + ((t_0 * ((x1 * (x1 * -6.0)) + ((t_1 / t_0) * ((x1 * (-6.0 + (t_1 * (2.0 / t_0)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))));
	double tmp;
	if (x1 <= -5.5e+102) {
		tmp = x1 * ((x1 * x1) * -3.0);
	} else if (x1 <= -0.00068) {
		tmp = t_2;
	} else if (x1 <= 0.0077) {
		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))));
	} else if (x1 <= 5e+153) {
		tmp = t_2;
	} else {
		tmp = x1 * (x1 * 9.0);
	}
	return tmp;
}
def code(x1, x2):
	t_0 = (x1 * x1) + 1.0
	t_1 = (2.0 * x2) + (x1 * ((x1 * 3.0) + -1.0))
	t_2 = 9.0 + ((t_0 * ((x1 * (x1 * -6.0)) + ((t_1 / t_0) * ((x1 * (-6.0 + (t_1 * (2.0 / t_0)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))))
	tmp = 0
	if x1 <= -5.5e+102:
		tmp = x1 * ((x1 * x1) * -3.0)
	elif x1 <= -0.00068:
		tmp = t_2
	elif x1 <= 0.0077:
		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))))
	elif x1 <= 5e+153:
		tmp = t_2
	else:
		tmp = x1 * (x1 * 9.0)
	return tmp
function code(x1, x2)
	t_0 = Float64(Float64(x1 * x1) + 1.0)
	t_1 = Float64(Float64(2.0 * x2) + Float64(x1 * Float64(Float64(x1 * 3.0) + -1.0)))
	t_2 = Float64(9.0 + Float64(Float64(t_0 * Float64(Float64(x1 * Float64(x1 * -6.0)) + Float64(Float64(t_1 / t_0) * Float64(Float64(x1 * Float64(-6.0 + Float64(t_1 * Float64(2.0 / t_0)))) + Float64(Float64(x1 * x1) * 4.0))))) + Float64(x1 * Float64(2.0 + Float64(x1 * Float64(x1 + 9.0))))))
	tmp = 0.0
	if (x1 <= -5.5e+102)
		tmp = Float64(x1 * Float64(Float64(x1 * x1) * -3.0));
	elseif (x1 <= -0.00068)
		tmp = t_2;
	elseif (x1 <= 0.0077)
		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * Float64(-6.0 + Float64(Float64(x1 * Float64(Float64(x1 * 12.0) + -12.0)) + Float64(8.0 * Float64(x1 * x2))))));
	elseif (x1 <= 5e+153)
		tmp = t_2;
	else
		tmp = Float64(x1 * Float64(x1 * 9.0));
	end
	return tmp
end
function tmp_2 = code(x1, x2)
	t_0 = (x1 * x1) + 1.0;
	t_1 = (2.0 * x2) + (x1 * ((x1 * 3.0) + -1.0));
	t_2 = 9.0 + ((t_0 * ((x1 * (x1 * -6.0)) + ((t_1 / t_0) * ((x1 * (-6.0 + (t_1 * (2.0 / t_0)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))));
	tmp = 0.0;
	if (x1 <= -5.5e+102)
		tmp = x1 * ((x1 * x1) * -3.0);
	elseif (x1 <= -0.00068)
		tmp = t_2;
	elseif (x1 <= 0.0077)
		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))));
	elseif (x1 <= 5e+153)
		tmp = t_2;
	else
		tmp = x1 * (x1 * 9.0);
	end
	tmp_2 = tmp;
end
code[x1_, x2_] := Block[{t$95$0 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$1 = N[(N[(2.0 * x2), $MachinePrecision] + N[(x1 * N[(N[(x1 * 3.0), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(9.0 + N[(N[(t$95$0 * N[(N[(x1 * N[(x1 * -6.0), $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$1 / t$95$0), $MachinePrecision] * N[(N[(x1 * N[(-6.0 + N[(t$95$1 * N[(2.0 / t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * N[(2.0 + N[(x1 * N[(x1 + 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -5.5e+102], N[(x1 * N[(N[(x1 * x1), $MachinePrecision] * -3.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -0.00068], t$95$2, If[LessEqual[x1, 0.0077], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * N[(-6.0 + N[(N[(x1 * N[(N[(x1 * 12.0), $MachinePrecision] + -12.0), $MachinePrecision]), $MachinePrecision] + N[(8.0 * N[(x1 * x2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 5e+153], t$95$2, N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := x1 \cdot x1 + 1\\
t_1 := 2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\\
t_2 := 9 + \left(t\_0 \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{t\_1}{t\_0} \cdot \left(x1 \cdot \left(-6 + t\_1 \cdot \frac{2}{t\_0}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right)\\
\mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\
\;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\

\mathbf{elif}\;x1 \leq -0.00068:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;x1 \leq 0.0077:\\
\;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + \left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right)\right)\\

\mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\
\;\;\;\;t\_2\\

\mathbf{else}:\\
\;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if x1 < -5.49999999999999981e102

    1. Initial program 0.0%

      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
    2. Simplified0.0%

      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
    3. Add Preprocessing
    4. Taylor expanded in x1 around inf

      \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
    5. Step-by-step derivation
      1. Simplified0.0%

        \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
      2. Taylor expanded in x1 around inf

        \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
      3. Step-by-step derivation
        1. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
        2. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
        3. pow-sqrN/A

          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
        4. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
        5. unpow2N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
        6. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
        7. unpow2N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
        8. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
        9. sub-negN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
        10. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
        11. associate-*r/N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
        12. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
        13. distribute-neg-fracN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
        14. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
        15. /-lowering-/.f64100.0%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
      4. Simplified100.0%

        \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
      5. Taylor expanded in x1 around 0

        \[\leadsto \color{blue}{-3 \cdot {x1}^{3}} \]
      6. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto {x1}^{3} \cdot \color{blue}{-3} \]
        2. cube-multN/A

          \[\leadsto \left(x1 \cdot \left(x1 \cdot x1\right)\right) \cdot -3 \]
        3. unpow2N/A

          \[\leadsto \left(x1 \cdot {x1}^{2}\right) \cdot -3 \]
        4. associate-*l*N/A

          \[\leadsto x1 \cdot \color{blue}{\left({x1}^{2} \cdot -3\right)} \]
        5. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2} \cdot -3\right)}\right) \]
        6. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{-3}\right)\right) \]
        7. unpow2N/A

          \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), -3\right)\right) \]
        8. *-lowering-*.f64100.0%

          \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), -3\right)\right) \]
      7. Simplified100.0%

        \[\leadsto \color{blue}{x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)} \]

      if -5.49999999999999981e102 < x1 < -6.8e-4 or 0.0077000000000000002 < x1 < 5.00000000000000018e153

      1. Initial program 99.4%

        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
      2. Simplified99.6%

        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
      3. Add Preprocessing
      4. Taylor expanded in x1 around inf

        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
      5. Step-by-step derivation
        1. Simplified99.6%

          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
        2. Taylor expanded in x1 around inf

          \[\leadsto \mathsf{+.f64}\left(\color{blue}{9}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, 9\right)\right)\right)\right)\right)\right) \]
        3. Step-by-step derivation
          1. Simplified99.6%

            \[\leadsto \color{blue}{9} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right) \]

          if -6.8e-4 < x1 < 0.0077000000000000002

          1. Initial program 99.4%

            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
          2. Simplified99.5%

            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
          3. Add Preprocessing
          4. Taylor expanded in x1 around 0

            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
          5. Simplified88.6%

            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
          6. Taylor expanded in x2 around 0

            \[\leadsto \color{blue}{x1 \cdot \left(9 \cdot x1 - 1\right) + x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)} \]
          7. Step-by-step derivation
            1. +-lowering-+.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right), \color{blue}{\left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)}\right) \]
            2. *-lowering-*.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 - 1\right)\right), \left(\color{blue}{x2} \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
            3. sub-negN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
            4. metadata-evalN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
            5. +-lowering-+.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
            6. *-commutativeN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
            7. *-lowering-*.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
            8. *-lowering-*.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)}\right)\right) \]
            9. sub-negN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) + \color{blue}{\left(\mathsf{neg}\left(6\right)\right)}\right)\right)\right) \]
            10. metadata-evalN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) + -6\right)\right)\right) \]
            11. +-lowering-+.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right), \color{blue}{-6}\right)\right)\right) \]
          8. Simplified99.8%

            \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right) + x2 \cdot \left(\left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right) + -6\right)} \]

          if 5.00000000000000018e153 < x1

          1. Initial program 0.0%

            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
          2. Simplified0.0%

            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
          3. Add Preprocessing
          4. Taylor expanded in x1 around 0

            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
          5. Simplified69.0%

            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
          6. Taylor expanded in x2 around 0

            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
          7. Step-by-step derivation
            1. sub-negN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
            2. metadata-evalN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
            3. +-lowering-+.f64N/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
            4. *-commutativeN/A

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
            5. *-lowering-*.f64100.0%

              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
          8. Simplified100.0%

            \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
          9. Taylor expanded in x1 around inf

            \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
          10. Step-by-step derivation
            1. *-commutativeN/A

              \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
            2. unpow2N/A

              \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
            3. associate-*l*N/A

              \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
            4. *-commutativeN/A

              \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
            5. *-lowering-*.f64N/A

              \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
            6. *-commutativeN/A

              \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
            7. *-lowering-*.f64100.0%

              \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
          11. Simplified100.0%

            \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]
        4. Recombined 4 regimes into one program.
        5. Final simplification99.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq -0.00068:\\ \;\;\;\;9 + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right)\\ \mathbf{elif}\;x1 \leq 0.0077:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + \left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right)\right)\\ \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\ \;\;\;\;9 + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \]
        6. Add Preprocessing

        Alternative 2: 99.5% accurate, 0.4× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot \left(x1 \cdot x1\right)\\ t_1 := x1 \cdot \left(x1 \cdot 3\right)\\ t_2 := x1 \cdot x1 + 1\\ t_3 := \frac{\left(t\_1 + 2 \cdot x2\right) - x1}{t\_2}\\ t_4 := x1 \cdot \left(x1 \cdot 3 + -1\right)\\ t_5 := 2 \cdot x2 + t\_4\\ \mathbf{if}\;x1 + \left(\left(x1 + \left(\left(t\_2 \cdot \left(\left(\left(x1 \cdot 2\right) \cdot t\_3\right) \cdot \left(t\_3 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(t\_3 \cdot 4 - 6\right)\right) + t\_1 \cdot t\_3\right) + t\_0\right)\right) + 3 \cdot \frac{\left(t\_1 - 2 \cdot x2\right) - x1}{t\_2}\right) \leq \infty:\\ \;\;\;\;\mathsf{fma}\left(3, \frac{x2 \cdot -2 + t\_4}{t\_2}, t\_2 \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{t\_5}{\frac{t\_2}{2}}\right) + x1 \cdot 4\right)}{\frac{t\_2}{t\_5}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{t\_5}{\frac{t\_2}{3}}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;6 \cdot \left(x1 \cdot t\_0\right)\\ \end{array} \end{array} \]
        (FPCore (x1 x2)
         :precision binary64
         (let* ((t_0 (* x1 (* x1 x1)))
                (t_1 (* x1 (* x1 3.0)))
                (t_2 (+ (* x1 x1) 1.0))
                (t_3 (/ (- (+ t_1 (* 2.0 x2)) x1) t_2))
                (t_4 (* x1 (+ (* x1 3.0) -1.0)))
                (t_5 (+ (* 2.0 x2) t_4)))
           (if (<=
                (+
                 x1
                 (+
                  (+
                   x1
                   (+
                    (+
                     (*
                      t_2
                      (+
                       (* (* (* x1 2.0) t_3) (- t_3 3.0))
                       (* (* x1 x1) (- (* t_3 4.0) 6.0))))
                     (* t_1 t_3))
                    t_0))
                  (* 3.0 (/ (- (- t_1 (* 2.0 x2)) x1) t_2))))
                INFINITY)
             (fma
              3.0
              (/ (+ (* x2 -2.0) t_4) t_2)
              (+
               (*
                t_2
                (+
                 (* (* x1 x1) -6.0)
                 (/ (* x1 (+ (+ -6.0 (/ t_5 (/ t_2 2.0))) (* x1 4.0))) (/ t_2 t_5))))
               (* x1 (+ 2.0 (* x1 (+ x1 (/ t_5 (/ t_2 3.0))))))))
             (* 6.0 (* x1 t_0)))))
        double code(double x1, double x2) {
        	double t_0 = x1 * (x1 * x1);
        	double t_1 = x1 * (x1 * 3.0);
        	double t_2 = (x1 * x1) + 1.0;
        	double t_3 = ((t_1 + (2.0 * x2)) - x1) / t_2;
        	double t_4 = x1 * ((x1 * 3.0) + -1.0);
        	double t_5 = (2.0 * x2) + t_4;
        	double tmp;
        	if ((x1 + ((x1 + (((t_2 * ((((x1 * 2.0) * t_3) * (t_3 - 3.0)) + ((x1 * x1) * ((t_3 * 4.0) - 6.0)))) + (t_1 * t_3)) + t_0)) + (3.0 * (((t_1 - (2.0 * x2)) - x1) / t_2)))) <= ((double) INFINITY)) {
        		tmp = fma(3.0, (((x2 * -2.0) + t_4) / t_2), ((t_2 * (((x1 * x1) * -6.0) + ((x1 * ((-6.0 + (t_5 / (t_2 / 2.0))) + (x1 * 4.0))) / (t_2 / t_5)))) + (x1 * (2.0 + (x1 * (x1 + (t_5 / (t_2 / 3.0))))))));
        	} else {
        		tmp = 6.0 * (x1 * t_0);
        	}
        	return tmp;
        }
        
        function code(x1, x2)
        	t_0 = Float64(x1 * Float64(x1 * x1))
        	t_1 = Float64(x1 * Float64(x1 * 3.0))
        	t_2 = Float64(Float64(x1 * x1) + 1.0)
        	t_3 = Float64(Float64(Float64(t_1 + Float64(2.0 * x2)) - x1) / t_2)
        	t_4 = Float64(x1 * Float64(Float64(x1 * 3.0) + -1.0))
        	t_5 = Float64(Float64(2.0 * x2) + t_4)
        	tmp = 0.0
        	if (Float64(x1 + Float64(Float64(x1 + Float64(Float64(Float64(t_2 * Float64(Float64(Float64(Float64(x1 * 2.0) * t_3) * Float64(t_3 - 3.0)) + Float64(Float64(x1 * x1) * Float64(Float64(t_3 * 4.0) - 6.0)))) + Float64(t_1 * t_3)) + t_0)) + Float64(3.0 * Float64(Float64(Float64(t_1 - Float64(2.0 * x2)) - x1) / t_2)))) <= Inf)
        		tmp = fma(3.0, Float64(Float64(Float64(x2 * -2.0) + t_4) / t_2), Float64(Float64(t_2 * Float64(Float64(Float64(x1 * x1) * -6.0) + Float64(Float64(x1 * Float64(Float64(-6.0 + Float64(t_5 / Float64(t_2 / 2.0))) + Float64(x1 * 4.0))) / Float64(t_2 / t_5)))) + Float64(x1 * Float64(2.0 + Float64(x1 * Float64(x1 + Float64(t_5 / Float64(t_2 / 3.0))))))));
        	else
        		tmp = Float64(6.0 * Float64(x1 * t_0));
        	end
        	return tmp
        end
        
        code[x1_, x2_] := Block[{t$95$0 = N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x1 * N[(x1 * 3.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(t$95$1 + N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$2), $MachinePrecision]}, Block[{t$95$4 = N[(x1 * N[(N[(x1 * 3.0), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(2.0 * x2), $MachinePrecision] + t$95$4), $MachinePrecision]}, If[LessEqual[N[(x1 + N[(N[(x1 + N[(N[(N[(t$95$2 * N[(N[(N[(N[(x1 * 2.0), $MachinePrecision] * t$95$3), $MachinePrecision] * N[(t$95$3 - 3.0), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * N[(N[(t$95$3 * 4.0), $MachinePrecision] - 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 * t$95$3), $MachinePrecision]), $MachinePrecision] + t$95$0), $MachinePrecision]), $MachinePrecision] + N[(3.0 * N[(N[(N[(t$95$1 - N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(3.0 * N[(N[(N[(x2 * -2.0), $MachinePrecision] + t$95$4), $MachinePrecision] / t$95$2), $MachinePrecision] + N[(N[(t$95$2 * N[(N[(N[(x1 * x1), $MachinePrecision] * -6.0), $MachinePrecision] + N[(N[(x1 * N[(N[(-6.0 + N[(t$95$5 / N[(t$95$2 / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$2 / t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * N[(2.0 + N[(x1 * N[(x1 + N[(t$95$5 / N[(t$95$2 / 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(6.0 * N[(x1 * t$95$0), $MachinePrecision]), $MachinePrecision]]]]]]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := x1 \cdot \left(x1 \cdot x1\right)\\
        t_1 := x1 \cdot \left(x1 \cdot 3\right)\\
        t_2 := x1 \cdot x1 + 1\\
        t_3 := \frac{\left(t\_1 + 2 \cdot x2\right) - x1}{t\_2}\\
        t_4 := x1 \cdot \left(x1 \cdot 3 + -1\right)\\
        t_5 := 2 \cdot x2 + t\_4\\
        \mathbf{if}\;x1 + \left(\left(x1 + \left(\left(t\_2 \cdot \left(\left(\left(x1 \cdot 2\right) \cdot t\_3\right) \cdot \left(t\_3 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(t\_3 \cdot 4 - 6\right)\right) + t\_1 \cdot t\_3\right) + t\_0\right)\right) + 3 \cdot \frac{\left(t\_1 - 2 \cdot x2\right) - x1}{t\_2}\right) \leq \infty:\\
        \;\;\;\;\mathsf{fma}\left(3, \frac{x2 \cdot -2 + t\_4}{t\_2}, t\_2 \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{t\_5}{\frac{t\_2}{2}}\right) + x1 \cdot 4\right)}{\frac{t\_2}{t\_5}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{t\_5}{\frac{t\_2}{3}}\right)\right)\right)\\
        
        \mathbf{else}:\\
        \;\;\;\;6 \cdot \left(x1 \cdot t\_0\right)\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if (+.f64 x1 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))) (*.f64 (*.f64 x1 x1) x1)) x1) (*.f64 #s(literal 3 binary64) (/.f64 (-.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))))) < +inf.0

          1. Initial program 99.4%

            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
          2. Simplified99.5%

            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
          3. Add Preprocessing
          4. Applied egg-rr99.7%

            \[\leadsto \color{blue}{\mathsf{fma}\left(3, \frac{x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1}, \left(x1 \cdot x1 + 1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)}{\frac{x1 \cdot x1 + 1}{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{3}}\right)\right)\right)} \]

          if +inf.0 < (+.f64 x1 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))) (*.f64 (*.f64 x1 x1) x1)) x1) (*.f64 #s(literal 3 binary64) (/.f64 (-.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))))

          1. Initial program 0.0%

            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
          2. Simplified0.0%

            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
          3. Add Preprocessing
          4. Taylor expanded in x1 around inf

            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
          5. Step-by-step derivation
            1. Simplified0.0%

              \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
            2. Taylor expanded in x1 around inf

              \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
            3. Step-by-step derivation
              1. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
              2. metadata-evalN/A

                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
              3. pow-sqrN/A

                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
              4. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
              5. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
              6. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
              7. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
              8. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
              9. sub-negN/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
              10. +-lowering-+.f64N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
              11. associate-*r/N/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
              12. metadata-evalN/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
              13. distribute-neg-fracN/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
              14. metadata-evalN/A

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
              15. /-lowering-/.f64100.0%

                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
            4. Simplified100.0%

              \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
            5. Taylor expanded in x1 around inf

              \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
            6. Step-by-step derivation
              1. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
              2. metadata-evalN/A

                \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
              3. pow-sqrN/A

                \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
              4. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
              5. associate-*l*N/A

                \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
              6. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
              7. cube-multN/A

                \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
              8. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
              9. cube-multN/A

                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
              10. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
              11. *-lowering-*.f64N/A

                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
              12. unpow2N/A

                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
              13. *-lowering-*.f64100.0%

                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
            7. Simplified100.0%

              \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]
          6. Recombined 2 regimes into one program.
          7. Final simplification99.8%

            \[\leadsto \begin{array}{l} \mathbf{if}\;x1 + \left(\left(x1 + \left(\left(\left(x1 \cdot x1 + 1\right) \cdot \left(\left(\left(x1 \cdot 2\right) \cdot \frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(\frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} \cdot 4 - 6\right)\right) + \left(x1 \cdot \left(x1 \cdot 3\right)\right) \cdot \frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + x1 \cdot \left(x1 \cdot x1\right)\right)\right) + 3 \cdot \frac{\left(x1 \cdot \left(x1 \cdot 3\right) - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \leq \infty:\\ \;\;\;\;\mathsf{fma}\left(3, \frac{x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1}, \left(x1 \cdot x1 + 1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)}{\frac{x1 \cdot x1 + 1}{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{3}}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \end{array} \]
          8. Add Preprocessing

          Alternative 3: 99.4% accurate, 0.5× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot \left(x1 \cdot x1\right)\\ t_1 := x1 \cdot \left(x1 \cdot 3\right)\\ t_2 := x1 \cdot x1 + 1\\ t_3 := \frac{\left(t\_1 + 2 \cdot x2\right) - x1}{t\_2}\\ t_4 := x1 \cdot \left(x1 \cdot 3 + -1\right)\\ t_5 := 2 \cdot x2 + t\_4\\ \mathbf{if}\;x1 + \left(\left(x1 + \left(\left(t\_2 \cdot \left(\left(\left(x1 \cdot 2\right) \cdot t\_3\right) \cdot \left(t\_3 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(t\_3 \cdot 4 - 6\right)\right) + t\_1 \cdot t\_3\right) + t\_0\right)\right) + 3 \cdot \frac{\left(t\_1 - 2 \cdot x2\right) - x1}{t\_2}\right) \leq \infty:\\ \;\;\;\;\frac{3 \cdot \left(x2 \cdot -2 + t\_4\right)}{t\_2} + \left(t\_2 \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{t\_5}{t\_2} \cdot \left(x1 \cdot \left(-6 + t\_5 \cdot \frac{2}{t\_2}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + t\_5 \cdot \frac{3}{t\_2}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;6 \cdot \left(x1 \cdot t\_0\right)\\ \end{array} \end{array} \]
          (FPCore (x1 x2)
           :precision binary64
           (let* ((t_0 (* x1 (* x1 x1)))
                  (t_1 (* x1 (* x1 3.0)))
                  (t_2 (+ (* x1 x1) 1.0))
                  (t_3 (/ (- (+ t_1 (* 2.0 x2)) x1) t_2))
                  (t_4 (* x1 (+ (* x1 3.0) -1.0)))
                  (t_5 (+ (* 2.0 x2) t_4)))
             (if (<=
                  (+
                   x1
                   (+
                    (+
                     x1
                     (+
                      (+
                       (*
                        t_2
                        (+
                         (* (* (* x1 2.0) t_3) (- t_3 3.0))
                         (* (* x1 x1) (- (* t_3 4.0) 6.0))))
                       (* t_1 t_3))
                      t_0))
                    (* 3.0 (/ (- (- t_1 (* 2.0 x2)) x1) t_2))))
                  INFINITY)
               (+
                (/ (* 3.0 (+ (* x2 -2.0) t_4)) t_2)
                (+
                 (*
                  t_2
                  (+
                   (* x1 (* x1 -6.0))
                   (*
                    (/ t_5 t_2)
                    (+ (* x1 (+ -6.0 (* t_5 (/ 2.0 t_2)))) (* (* x1 x1) 4.0)))))
                 (* x1 (+ 2.0 (* x1 (+ x1 (* t_5 (/ 3.0 t_2))))))))
               (* 6.0 (* x1 t_0)))))
          double code(double x1, double x2) {
          	double t_0 = x1 * (x1 * x1);
          	double t_1 = x1 * (x1 * 3.0);
          	double t_2 = (x1 * x1) + 1.0;
          	double t_3 = ((t_1 + (2.0 * x2)) - x1) / t_2;
          	double t_4 = x1 * ((x1 * 3.0) + -1.0);
          	double t_5 = (2.0 * x2) + t_4;
          	double tmp;
          	if ((x1 + ((x1 + (((t_2 * ((((x1 * 2.0) * t_3) * (t_3 - 3.0)) + ((x1 * x1) * ((t_3 * 4.0) - 6.0)))) + (t_1 * t_3)) + t_0)) + (3.0 * (((t_1 - (2.0 * x2)) - x1) / t_2)))) <= ((double) INFINITY)) {
          		tmp = ((3.0 * ((x2 * -2.0) + t_4)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_5 / t_2) * ((x1 * (-6.0 + (t_5 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + (t_5 * (3.0 / t_2)))))));
          	} else {
          		tmp = 6.0 * (x1 * t_0);
          	}
          	return tmp;
          }
          
          public static double code(double x1, double x2) {
          	double t_0 = x1 * (x1 * x1);
          	double t_1 = x1 * (x1 * 3.0);
          	double t_2 = (x1 * x1) + 1.0;
          	double t_3 = ((t_1 + (2.0 * x2)) - x1) / t_2;
          	double t_4 = x1 * ((x1 * 3.0) + -1.0);
          	double t_5 = (2.0 * x2) + t_4;
          	double tmp;
          	if ((x1 + ((x1 + (((t_2 * ((((x1 * 2.0) * t_3) * (t_3 - 3.0)) + ((x1 * x1) * ((t_3 * 4.0) - 6.0)))) + (t_1 * t_3)) + t_0)) + (3.0 * (((t_1 - (2.0 * x2)) - x1) / t_2)))) <= Double.POSITIVE_INFINITY) {
          		tmp = ((3.0 * ((x2 * -2.0) + t_4)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_5 / t_2) * ((x1 * (-6.0 + (t_5 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + (t_5 * (3.0 / t_2)))))));
          	} else {
          		tmp = 6.0 * (x1 * t_0);
          	}
          	return tmp;
          }
          
          def code(x1, x2):
          	t_0 = x1 * (x1 * x1)
          	t_1 = x1 * (x1 * 3.0)
          	t_2 = (x1 * x1) + 1.0
          	t_3 = ((t_1 + (2.0 * x2)) - x1) / t_2
          	t_4 = x1 * ((x1 * 3.0) + -1.0)
          	t_5 = (2.0 * x2) + t_4
          	tmp = 0
          	if (x1 + ((x1 + (((t_2 * ((((x1 * 2.0) * t_3) * (t_3 - 3.0)) + ((x1 * x1) * ((t_3 * 4.0) - 6.0)))) + (t_1 * t_3)) + t_0)) + (3.0 * (((t_1 - (2.0 * x2)) - x1) / t_2)))) <= math.inf:
          		tmp = ((3.0 * ((x2 * -2.0) + t_4)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_5 / t_2) * ((x1 * (-6.0 + (t_5 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + (t_5 * (3.0 / t_2)))))))
          	else:
          		tmp = 6.0 * (x1 * t_0)
          	return tmp
          
          function code(x1, x2)
          	t_0 = Float64(x1 * Float64(x1 * x1))
          	t_1 = Float64(x1 * Float64(x1 * 3.0))
          	t_2 = Float64(Float64(x1 * x1) + 1.0)
          	t_3 = Float64(Float64(Float64(t_1 + Float64(2.0 * x2)) - x1) / t_2)
          	t_4 = Float64(x1 * Float64(Float64(x1 * 3.0) + -1.0))
          	t_5 = Float64(Float64(2.0 * x2) + t_4)
          	tmp = 0.0
          	if (Float64(x1 + Float64(Float64(x1 + Float64(Float64(Float64(t_2 * Float64(Float64(Float64(Float64(x1 * 2.0) * t_3) * Float64(t_3 - 3.0)) + Float64(Float64(x1 * x1) * Float64(Float64(t_3 * 4.0) - 6.0)))) + Float64(t_1 * t_3)) + t_0)) + Float64(3.0 * Float64(Float64(Float64(t_1 - Float64(2.0 * x2)) - x1) / t_2)))) <= Inf)
          		tmp = Float64(Float64(Float64(3.0 * Float64(Float64(x2 * -2.0) + t_4)) / t_2) + Float64(Float64(t_2 * Float64(Float64(x1 * Float64(x1 * -6.0)) + Float64(Float64(t_5 / t_2) * Float64(Float64(x1 * Float64(-6.0 + Float64(t_5 * Float64(2.0 / t_2)))) + Float64(Float64(x1 * x1) * 4.0))))) + Float64(x1 * Float64(2.0 + Float64(x1 * Float64(x1 + Float64(t_5 * Float64(3.0 / t_2))))))));
          	else
          		tmp = Float64(6.0 * Float64(x1 * t_0));
          	end
          	return tmp
          end
          
          function tmp_2 = code(x1, x2)
          	t_0 = x1 * (x1 * x1);
          	t_1 = x1 * (x1 * 3.0);
          	t_2 = (x1 * x1) + 1.0;
          	t_3 = ((t_1 + (2.0 * x2)) - x1) / t_2;
          	t_4 = x1 * ((x1 * 3.0) + -1.0);
          	t_5 = (2.0 * x2) + t_4;
          	tmp = 0.0;
          	if ((x1 + ((x1 + (((t_2 * ((((x1 * 2.0) * t_3) * (t_3 - 3.0)) + ((x1 * x1) * ((t_3 * 4.0) - 6.0)))) + (t_1 * t_3)) + t_0)) + (3.0 * (((t_1 - (2.0 * x2)) - x1) / t_2)))) <= Inf)
          		tmp = ((3.0 * ((x2 * -2.0) + t_4)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_5 / t_2) * ((x1 * (-6.0 + (t_5 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + (t_5 * (3.0 / t_2)))))));
          	else
          		tmp = 6.0 * (x1 * t_0);
          	end
          	tmp_2 = tmp;
          end
          
          code[x1_, x2_] := Block[{t$95$0 = N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x1 * N[(x1 * 3.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(t$95$1 + N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$2), $MachinePrecision]}, Block[{t$95$4 = N[(x1 * N[(N[(x1 * 3.0), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(2.0 * x2), $MachinePrecision] + t$95$4), $MachinePrecision]}, If[LessEqual[N[(x1 + N[(N[(x1 + N[(N[(N[(t$95$2 * N[(N[(N[(N[(x1 * 2.0), $MachinePrecision] * t$95$3), $MachinePrecision] * N[(t$95$3 - 3.0), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * N[(N[(t$95$3 * 4.0), $MachinePrecision] - 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 * t$95$3), $MachinePrecision]), $MachinePrecision] + t$95$0), $MachinePrecision]), $MachinePrecision] + N[(3.0 * N[(N[(N[(t$95$1 - N[(2.0 * x2), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(N[(3.0 * N[(N[(x2 * -2.0), $MachinePrecision] + t$95$4), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision] + N[(N[(t$95$2 * N[(N[(x1 * N[(x1 * -6.0), $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$5 / t$95$2), $MachinePrecision] * N[(N[(x1 * N[(-6.0 + N[(t$95$5 * N[(2.0 / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * N[(2.0 + N[(x1 * N[(x1 + N[(t$95$5 * N[(3.0 / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(6.0 * N[(x1 * t$95$0), $MachinePrecision]), $MachinePrecision]]]]]]]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          t_0 := x1 \cdot \left(x1 \cdot x1\right)\\
          t_1 := x1 \cdot \left(x1 \cdot 3\right)\\
          t_2 := x1 \cdot x1 + 1\\
          t_3 := \frac{\left(t\_1 + 2 \cdot x2\right) - x1}{t\_2}\\
          t_4 := x1 \cdot \left(x1 \cdot 3 + -1\right)\\
          t_5 := 2 \cdot x2 + t\_4\\
          \mathbf{if}\;x1 + \left(\left(x1 + \left(\left(t\_2 \cdot \left(\left(\left(x1 \cdot 2\right) \cdot t\_3\right) \cdot \left(t\_3 - 3\right) + \left(x1 \cdot x1\right) \cdot \left(t\_3 \cdot 4 - 6\right)\right) + t\_1 \cdot t\_3\right) + t\_0\right)\right) + 3 \cdot \frac{\left(t\_1 - 2 \cdot x2\right) - x1}{t\_2}\right) \leq \infty:\\
          \;\;\;\;\frac{3 \cdot \left(x2 \cdot -2 + t\_4\right)}{t\_2} + \left(t\_2 \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{t\_5}{t\_2} \cdot \left(x1 \cdot \left(-6 + t\_5 \cdot \frac{2}{t\_2}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + t\_5 \cdot \frac{3}{t\_2}\right)\right)\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;6 \cdot \left(x1 \cdot t\_0\right)\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (+.f64 x1 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))) (*.f64 (*.f64 x1 x1) x1)) x1) (*.f64 #s(literal 3 binary64) (/.f64 (-.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))))) < +inf.0

            1. Initial program 99.4%

              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
            2. Simplified99.5%

              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
            3. Add Preprocessing

            if +inf.0 < (+.f64 x1 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))) (*.f64 (*.f64 x1 x1) x1)) x1) (*.f64 #s(literal 3 binary64) (/.f64 (-.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))))

            1. Initial program 0.0%

              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
            2. Simplified0.0%

              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
            3. Add Preprocessing
            4. Taylor expanded in x1 around inf

              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
            5. Step-by-step derivation
              1. Simplified0.0%

                \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
              2. Taylor expanded in x1 around inf

                \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
              3. Step-by-step derivation
                1. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                2. metadata-evalN/A

                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                3. pow-sqrN/A

                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                4. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                5. unpow2N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                6. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                7. unpow2N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                8. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                9. sub-negN/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                10. +-lowering-+.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                11. associate-*r/N/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                12. metadata-evalN/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                13. distribute-neg-fracN/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                14. metadata-evalN/A

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                15. /-lowering-/.f64100.0%

                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
              4. Simplified100.0%

                \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
              5. Taylor expanded in x1 around inf

                \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
              6. Step-by-step derivation
                1. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                2. metadata-evalN/A

                  \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                3. pow-sqrN/A

                  \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                4. unpow2N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                5. associate-*l*N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                6. unpow2N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                7. cube-multN/A

                  \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                8. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                9. cube-multN/A

                  \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                10. unpow2N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                11. *-lowering-*.f64N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                12. unpow2N/A

                  \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                13. *-lowering-*.f64100.0%

                  \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
              7. Simplified100.0%

                \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]
            6. Recombined 2 regimes into one program.
            7. Final simplification99.7%

              \[\leadsto \begin{array}{l} \mathbf{if}\;x1 + \left(\left(x1 + \left(\left(\left(x1 \cdot x1 + 1\right) \cdot \left(\left(\left(x1 \cdot 2\right) \cdot \frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(\frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} \cdot 4 - 6\right)\right) + \left(x1 \cdot \left(x1 \cdot 3\right)\right) \cdot \frac{\left(x1 \cdot \left(x1 \cdot 3\right) + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + x1 \cdot \left(x1 \cdot x1\right)\right)\right) + 3 \cdot \frac{\left(x1 \cdot \left(x1 \cdot 3\right) - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \leq \infty:\\ \;\;\;\;\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \end{array} \]
            8. Add Preprocessing

            Alternative 4: 99.2% accurate, 1.1× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot x1 + 1\\ t_1 := x1 \cdot 3 + -1\\ t_2 := 2 \cdot x2 + x1 \cdot t\_1\\ \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\ \;\;\;\;\left(t\_0 \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{t\_2}{\frac{t\_0}{2}}\right) + x1 \cdot 4\right)}{\frac{t\_0}{t\_2}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{t\_2}{\frac{t\_0}{3}}\right)\right)\right) + \frac{\left(x1 \cdot 3\right) \cdot t\_1 + x2 \cdot -6}{t\_0}\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \end{array} \]
            (FPCore (x1 x2)
             :precision binary64
             (let* ((t_0 (+ (* x1 x1) 1.0))
                    (t_1 (+ (* x1 3.0) -1.0))
                    (t_2 (+ (* 2.0 x2) (* x1 t_1))))
               (if (<= x1 -5.5e+102)
                 (* x1 (* (* x1 x1) -3.0))
                 (if (<= x1 5e+153)
                   (+
                    (+
                     (*
                      t_0
                      (+
                       (* (* x1 x1) -6.0)
                       (/ (* x1 (+ (+ -6.0 (/ t_2 (/ t_0 2.0))) (* x1 4.0))) (/ t_0 t_2))))
                     (* x1 (+ 2.0 (* x1 (+ x1 (/ t_2 (/ t_0 3.0)))))))
                    (/ (+ (* (* x1 3.0) t_1) (* x2 -6.0)) t_0))
                   (* x1 (* x1 9.0))))))
            double code(double x1, double x2) {
            	double t_0 = (x1 * x1) + 1.0;
            	double t_1 = (x1 * 3.0) + -1.0;
            	double t_2 = (2.0 * x2) + (x1 * t_1);
            	double tmp;
            	if (x1 <= -5.5e+102) {
            		tmp = x1 * ((x1 * x1) * -3.0);
            	} else if (x1 <= 5e+153) {
            		tmp = ((t_0 * (((x1 * x1) * -6.0) + ((x1 * ((-6.0 + (t_2 / (t_0 / 2.0))) + (x1 * 4.0))) / (t_0 / t_2)))) + (x1 * (2.0 + (x1 * (x1 + (t_2 / (t_0 / 3.0))))))) + ((((x1 * 3.0) * t_1) + (x2 * -6.0)) / t_0);
            	} else {
            		tmp = x1 * (x1 * 9.0);
            	}
            	return tmp;
            }
            
            real(8) function code(x1, x2)
                real(8), intent (in) :: x1
                real(8), intent (in) :: x2
                real(8) :: t_0
                real(8) :: t_1
                real(8) :: t_2
                real(8) :: tmp
                t_0 = (x1 * x1) + 1.0d0
                t_1 = (x1 * 3.0d0) + (-1.0d0)
                t_2 = (2.0d0 * x2) + (x1 * t_1)
                if (x1 <= (-5.5d+102)) then
                    tmp = x1 * ((x1 * x1) * (-3.0d0))
                else if (x1 <= 5d+153) then
                    tmp = ((t_0 * (((x1 * x1) * (-6.0d0)) + ((x1 * (((-6.0d0) + (t_2 / (t_0 / 2.0d0))) + (x1 * 4.0d0))) / (t_0 / t_2)))) + (x1 * (2.0d0 + (x1 * (x1 + (t_2 / (t_0 / 3.0d0))))))) + ((((x1 * 3.0d0) * t_1) + (x2 * (-6.0d0))) / t_0)
                else
                    tmp = x1 * (x1 * 9.0d0)
                end if
                code = tmp
            end function
            
            public static double code(double x1, double x2) {
            	double t_0 = (x1 * x1) + 1.0;
            	double t_1 = (x1 * 3.0) + -1.0;
            	double t_2 = (2.0 * x2) + (x1 * t_1);
            	double tmp;
            	if (x1 <= -5.5e+102) {
            		tmp = x1 * ((x1 * x1) * -3.0);
            	} else if (x1 <= 5e+153) {
            		tmp = ((t_0 * (((x1 * x1) * -6.0) + ((x1 * ((-6.0 + (t_2 / (t_0 / 2.0))) + (x1 * 4.0))) / (t_0 / t_2)))) + (x1 * (2.0 + (x1 * (x1 + (t_2 / (t_0 / 3.0))))))) + ((((x1 * 3.0) * t_1) + (x2 * -6.0)) / t_0);
            	} else {
            		tmp = x1 * (x1 * 9.0);
            	}
            	return tmp;
            }
            
            def code(x1, x2):
            	t_0 = (x1 * x1) + 1.0
            	t_1 = (x1 * 3.0) + -1.0
            	t_2 = (2.0 * x2) + (x1 * t_1)
            	tmp = 0
            	if x1 <= -5.5e+102:
            		tmp = x1 * ((x1 * x1) * -3.0)
            	elif x1 <= 5e+153:
            		tmp = ((t_0 * (((x1 * x1) * -6.0) + ((x1 * ((-6.0 + (t_2 / (t_0 / 2.0))) + (x1 * 4.0))) / (t_0 / t_2)))) + (x1 * (2.0 + (x1 * (x1 + (t_2 / (t_0 / 3.0))))))) + ((((x1 * 3.0) * t_1) + (x2 * -6.0)) / t_0)
            	else:
            		tmp = x1 * (x1 * 9.0)
            	return tmp
            
            function code(x1, x2)
            	t_0 = Float64(Float64(x1 * x1) + 1.0)
            	t_1 = Float64(Float64(x1 * 3.0) + -1.0)
            	t_2 = Float64(Float64(2.0 * x2) + Float64(x1 * t_1))
            	tmp = 0.0
            	if (x1 <= -5.5e+102)
            		tmp = Float64(x1 * Float64(Float64(x1 * x1) * -3.0));
            	elseif (x1 <= 5e+153)
            		tmp = Float64(Float64(Float64(t_0 * Float64(Float64(Float64(x1 * x1) * -6.0) + Float64(Float64(x1 * Float64(Float64(-6.0 + Float64(t_2 / Float64(t_0 / 2.0))) + Float64(x1 * 4.0))) / Float64(t_0 / t_2)))) + Float64(x1 * Float64(2.0 + Float64(x1 * Float64(x1 + Float64(t_2 / Float64(t_0 / 3.0))))))) + Float64(Float64(Float64(Float64(x1 * 3.0) * t_1) + Float64(x2 * -6.0)) / t_0));
            	else
            		tmp = Float64(x1 * Float64(x1 * 9.0));
            	end
            	return tmp
            end
            
            function tmp_2 = code(x1, x2)
            	t_0 = (x1 * x1) + 1.0;
            	t_1 = (x1 * 3.0) + -1.0;
            	t_2 = (2.0 * x2) + (x1 * t_1);
            	tmp = 0.0;
            	if (x1 <= -5.5e+102)
            		tmp = x1 * ((x1 * x1) * -3.0);
            	elseif (x1 <= 5e+153)
            		tmp = ((t_0 * (((x1 * x1) * -6.0) + ((x1 * ((-6.0 + (t_2 / (t_0 / 2.0))) + (x1 * 4.0))) / (t_0 / t_2)))) + (x1 * (2.0 + (x1 * (x1 + (t_2 / (t_0 / 3.0))))))) + ((((x1 * 3.0) * t_1) + (x2 * -6.0)) / t_0);
            	else
            		tmp = x1 * (x1 * 9.0);
            	end
            	tmp_2 = tmp;
            end
            
            code[x1_, x2_] := Block[{t$95$0 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$1 = N[(N[(x1 * 3.0), $MachinePrecision] + -1.0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(2.0 * x2), $MachinePrecision] + N[(x1 * t$95$1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -5.5e+102], N[(x1 * N[(N[(x1 * x1), $MachinePrecision] * -3.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 5e+153], N[(N[(N[(t$95$0 * N[(N[(N[(x1 * x1), $MachinePrecision] * -6.0), $MachinePrecision] + N[(N[(x1 * N[(N[(-6.0 + N[(t$95$2 / N[(t$95$0 / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$0 / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * N[(2.0 + N[(x1 * N[(x1 + N[(t$95$2 / N[(t$95$0 / 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(N[(x1 * 3.0), $MachinePrecision] * t$95$1), $MachinePrecision] + N[(x2 * -6.0), $MachinePrecision]), $MachinePrecision] / t$95$0), $MachinePrecision]), $MachinePrecision], N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]]]]]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            t_0 := x1 \cdot x1 + 1\\
            t_1 := x1 \cdot 3 + -1\\
            t_2 := 2 \cdot x2 + x1 \cdot t\_1\\
            \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\
            \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\
            
            \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\
            \;\;\;\;\left(t\_0 \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{t\_2}{\frac{t\_0}{2}}\right) + x1 \cdot 4\right)}{\frac{t\_0}{t\_2}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{t\_2}{\frac{t\_0}{3}}\right)\right)\right) + \frac{\left(x1 \cdot 3\right) \cdot t\_1 + x2 \cdot -6}{t\_0}\\
            
            \mathbf{else}:\\
            \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if x1 < -5.49999999999999981e102

              1. Initial program 0.0%

                \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
              2. Simplified0.0%

                \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
              3. Add Preprocessing
              4. Taylor expanded in x1 around inf

                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
              5. Step-by-step derivation
                1. Simplified0.0%

                  \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                2. Taylor expanded in x1 around inf

                  \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                3. Step-by-step derivation
                  1. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                  2. metadata-evalN/A

                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                  3. pow-sqrN/A

                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                  4. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                  5. unpow2N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                  6. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                  7. unpow2N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                  8. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                  9. sub-negN/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                  10. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                  11. associate-*r/N/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                  12. metadata-evalN/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                  13. distribute-neg-fracN/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                  14. metadata-evalN/A

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                  15. /-lowering-/.f64100.0%

                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                4. Simplified100.0%

                  \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                5. Taylor expanded in x1 around 0

                  \[\leadsto \color{blue}{-3 \cdot {x1}^{3}} \]
                6. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto {x1}^{3} \cdot \color{blue}{-3} \]
                  2. cube-multN/A

                    \[\leadsto \left(x1 \cdot \left(x1 \cdot x1\right)\right) \cdot -3 \]
                  3. unpow2N/A

                    \[\leadsto \left(x1 \cdot {x1}^{2}\right) \cdot -3 \]
                  4. associate-*l*N/A

                    \[\leadsto x1 \cdot \color{blue}{\left({x1}^{2} \cdot -3\right)} \]
                  5. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2} \cdot -3\right)}\right) \]
                  6. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{-3}\right)\right) \]
                  7. unpow2N/A

                    \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), -3\right)\right) \]
                  8. *-lowering-*.f64100.0%

                    \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), -3\right)\right) \]
                7. Simplified100.0%

                  \[\leadsto \color{blue}{x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)} \]

                if -5.49999999999999981e102 < x1 < 5.00000000000000018e153

                1. Initial program 99.4%

                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                2. Simplified99.5%

                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                3. Add Preprocessing
                4. Applied egg-rr99.5%

                  \[\leadsto \color{blue}{\frac{\left(x1 \cdot 3\right) \cdot \left(x1 \cdot 3 + -1\right) + x2 \cdot -6}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)}{\frac{x1 \cdot x1 + 1}{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{3}}\right)\right)\right)} \]

                if 5.00000000000000018e153 < x1

                1. Initial program 0.0%

                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                2. Simplified0.0%

                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                3. Add Preprocessing
                4. Taylor expanded in x1 around 0

                  \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                5. Simplified69.0%

                  \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                6. Taylor expanded in x2 around 0

                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                7. Step-by-step derivation
                  1. sub-negN/A

                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                  2. metadata-evalN/A

                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                  3. +-lowering-+.f64N/A

                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                  4. *-commutativeN/A

                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                  5. *-lowering-*.f64100.0%

                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                8. Simplified100.0%

                  \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                9. Taylor expanded in x1 around inf

                  \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                10. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                  2. unpow2N/A

                    \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                  3. associate-*l*N/A

                    \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                  4. *-commutativeN/A

                    \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                  5. *-lowering-*.f64N/A

                    \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                  6. *-commutativeN/A

                    \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                  7. *-lowering-*.f64100.0%

                    \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                11. Simplified100.0%

                  \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]
              6. Recombined 3 regimes into one program.
              7. Final simplification99.7%

                \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\ \;\;\;\;\left(\left(x1 \cdot x1 + 1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot -6 + \frac{x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)}{\frac{x1 \cdot x1 + 1}{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}}\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{3}}\right)\right)\right) + \frac{\left(x1 \cdot 3\right) \cdot \left(x1 \cdot 3 + -1\right) + x2 \cdot -6}{x1 \cdot x1 + 1}\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \]
              8. Add Preprocessing

              Alternative 5: 98.7% accurate, 1.3× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot \left(x1 \cdot 3 + -1\right)\\ t_1 := 2 \cdot x2 + t\_0\\ t_2 := x1 \cdot x1 + 1\\ \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\ \;\;\;\;\frac{3 \cdot \left(x2 \cdot -2 + t\_0\right)}{t\_2} + \left(t\_2 \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{t\_1}{t\_2} \cdot \left(x1 \cdot \left(-6 + t\_1 \cdot \frac{2}{t\_2}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \end{array} \]
              (FPCore (x1 x2)
               :precision binary64
               (let* ((t_0 (* x1 (+ (* x1 3.0) -1.0)))
                      (t_1 (+ (* 2.0 x2) t_0))
                      (t_2 (+ (* x1 x1) 1.0)))
                 (if (<= x1 -5.5e+102)
                   (* x1 (* (* x1 x1) -3.0))
                   (if (<= x1 5e+153)
                     (+
                      (/ (* 3.0 (+ (* x2 -2.0) t_0)) t_2)
                      (+
                       (*
                        t_2
                        (+
                         (* x1 (* x1 -6.0))
                         (*
                          (/ t_1 t_2)
                          (+ (* x1 (+ -6.0 (* t_1 (/ 2.0 t_2)))) (* (* x1 x1) 4.0)))))
                       (* x1 (+ 2.0 (* x1 (+ x1 9.0))))))
                     (* x1 (* x1 9.0))))))
              double code(double x1, double x2) {
              	double t_0 = x1 * ((x1 * 3.0) + -1.0);
              	double t_1 = (2.0 * x2) + t_0;
              	double t_2 = (x1 * x1) + 1.0;
              	double tmp;
              	if (x1 <= -5.5e+102) {
              		tmp = x1 * ((x1 * x1) * -3.0);
              	} else if (x1 <= 5e+153) {
              		tmp = ((3.0 * ((x2 * -2.0) + t_0)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_1 / t_2) * ((x1 * (-6.0 + (t_1 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))));
              	} else {
              		tmp = x1 * (x1 * 9.0);
              	}
              	return tmp;
              }
              
              real(8) function code(x1, x2)
                  real(8), intent (in) :: x1
                  real(8), intent (in) :: x2
                  real(8) :: t_0
                  real(8) :: t_1
                  real(8) :: t_2
                  real(8) :: tmp
                  t_0 = x1 * ((x1 * 3.0d0) + (-1.0d0))
                  t_1 = (2.0d0 * x2) + t_0
                  t_2 = (x1 * x1) + 1.0d0
                  if (x1 <= (-5.5d+102)) then
                      tmp = x1 * ((x1 * x1) * (-3.0d0))
                  else if (x1 <= 5d+153) then
                      tmp = ((3.0d0 * ((x2 * (-2.0d0)) + t_0)) / t_2) + ((t_2 * ((x1 * (x1 * (-6.0d0))) + ((t_1 / t_2) * ((x1 * ((-6.0d0) + (t_1 * (2.0d0 / t_2)))) + ((x1 * x1) * 4.0d0))))) + (x1 * (2.0d0 + (x1 * (x1 + 9.0d0)))))
                  else
                      tmp = x1 * (x1 * 9.0d0)
                  end if
                  code = tmp
              end function
              
              public static double code(double x1, double x2) {
              	double t_0 = x1 * ((x1 * 3.0) + -1.0);
              	double t_1 = (2.0 * x2) + t_0;
              	double t_2 = (x1 * x1) + 1.0;
              	double tmp;
              	if (x1 <= -5.5e+102) {
              		tmp = x1 * ((x1 * x1) * -3.0);
              	} else if (x1 <= 5e+153) {
              		tmp = ((3.0 * ((x2 * -2.0) + t_0)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_1 / t_2) * ((x1 * (-6.0 + (t_1 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))));
              	} else {
              		tmp = x1 * (x1 * 9.0);
              	}
              	return tmp;
              }
              
              def code(x1, x2):
              	t_0 = x1 * ((x1 * 3.0) + -1.0)
              	t_1 = (2.0 * x2) + t_0
              	t_2 = (x1 * x1) + 1.0
              	tmp = 0
              	if x1 <= -5.5e+102:
              		tmp = x1 * ((x1 * x1) * -3.0)
              	elif x1 <= 5e+153:
              		tmp = ((3.0 * ((x2 * -2.0) + t_0)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_1 / t_2) * ((x1 * (-6.0 + (t_1 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))))
              	else:
              		tmp = x1 * (x1 * 9.0)
              	return tmp
              
              function code(x1, x2)
              	t_0 = Float64(x1 * Float64(Float64(x1 * 3.0) + -1.0))
              	t_1 = Float64(Float64(2.0 * x2) + t_0)
              	t_2 = Float64(Float64(x1 * x1) + 1.0)
              	tmp = 0.0
              	if (x1 <= -5.5e+102)
              		tmp = Float64(x1 * Float64(Float64(x1 * x1) * -3.0));
              	elseif (x1 <= 5e+153)
              		tmp = Float64(Float64(Float64(3.0 * Float64(Float64(x2 * -2.0) + t_0)) / t_2) + Float64(Float64(t_2 * Float64(Float64(x1 * Float64(x1 * -6.0)) + Float64(Float64(t_1 / t_2) * Float64(Float64(x1 * Float64(-6.0 + Float64(t_1 * Float64(2.0 / t_2)))) + Float64(Float64(x1 * x1) * 4.0))))) + Float64(x1 * Float64(2.0 + Float64(x1 * Float64(x1 + 9.0))))));
              	else
              		tmp = Float64(x1 * Float64(x1 * 9.0));
              	end
              	return tmp
              end
              
              function tmp_2 = code(x1, x2)
              	t_0 = x1 * ((x1 * 3.0) + -1.0);
              	t_1 = (2.0 * x2) + t_0;
              	t_2 = (x1 * x1) + 1.0;
              	tmp = 0.0;
              	if (x1 <= -5.5e+102)
              		tmp = x1 * ((x1 * x1) * -3.0);
              	elseif (x1 <= 5e+153)
              		tmp = ((3.0 * ((x2 * -2.0) + t_0)) / t_2) + ((t_2 * ((x1 * (x1 * -6.0)) + ((t_1 / t_2) * ((x1 * (-6.0 + (t_1 * (2.0 / t_2)))) + ((x1 * x1) * 4.0))))) + (x1 * (2.0 + (x1 * (x1 + 9.0)))));
              	else
              		tmp = x1 * (x1 * 9.0);
              	end
              	tmp_2 = tmp;
              end
              
              code[x1_, x2_] := Block[{t$95$0 = N[(x1 * N[(N[(x1 * 3.0), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(2.0 * x2), $MachinePrecision] + t$95$0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x1 * x1), $MachinePrecision] + 1.0), $MachinePrecision]}, If[LessEqual[x1, -5.5e+102], N[(x1 * N[(N[(x1 * x1), $MachinePrecision] * -3.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 5e+153], N[(N[(N[(3.0 * N[(N[(x2 * -2.0), $MachinePrecision] + t$95$0), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision] + N[(N[(t$95$2 * N[(N[(x1 * N[(x1 * -6.0), $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$1 / t$95$2), $MachinePrecision] * N[(N[(x1 * N[(-6.0 + N[(t$95$1 * N[(2.0 / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x1 * x1), $MachinePrecision] * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x1 * N[(2.0 + N[(x1 * N[(x1 + 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]]]]]]
              
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              t_0 := x1 \cdot \left(x1 \cdot 3 + -1\right)\\
              t_1 := 2 \cdot x2 + t\_0\\
              t_2 := x1 \cdot x1 + 1\\
              \mathbf{if}\;x1 \leq -5.5 \cdot 10^{+102}:\\
              \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\
              
              \mathbf{elif}\;x1 \leq 5 \cdot 10^{+153}:\\
              \;\;\;\;\frac{3 \cdot \left(x2 \cdot -2 + t\_0\right)}{t\_2} + \left(t\_2 \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{t\_1}{t\_2} \cdot \left(x1 \cdot \left(-6 + t\_1 \cdot \frac{2}{t\_2}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + 9\right)\right)\right)\\
              
              \mathbf{else}:\\
              \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 3 regimes
              2. if x1 < -5.49999999999999981e102

                1. Initial program 0.0%

                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                2. Simplified0.0%

                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                3. Add Preprocessing
                4. Taylor expanded in x1 around inf

                  \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                5. Step-by-step derivation
                  1. Simplified0.0%

                    \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                  2. Taylor expanded in x1 around inf

                    \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                  3. Step-by-step derivation
                    1. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                    2. metadata-evalN/A

                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                    3. pow-sqrN/A

                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                    4. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                    5. unpow2N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                    6. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                    7. unpow2N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                    8. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                    9. sub-negN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                    10. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                    11. associate-*r/N/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                    12. metadata-evalN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                    13. distribute-neg-fracN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                    14. metadata-evalN/A

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                    15. /-lowering-/.f64100.0%

                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                  4. Simplified100.0%

                    \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                  5. Taylor expanded in x1 around 0

                    \[\leadsto \color{blue}{-3 \cdot {x1}^{3}} \]
                  6. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto {x1}^{3} \cdot \color{blue}{-3} \]
                    2. cube-multN/A

                      \[\leadsto \left(x1 \cdot \left(x1 \cdot x1\right)\right) \cdot -3 \]
                    3. unpow2N/A

                      \[\leadsto \left(x1 \cdot {x1}^{2}\right) \cdot -3 \]
                    4. associate-*l*N/A

                      \[\leadsto x1 \cdot \color{blue}{\left({x1}^{2} \cdot -3\right)} \]
                    5. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2} \cdot -3\right)}\right) \]
                    6. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{-3}\right)\right) \]
                    7. unpow2N/A

                      \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), -3\right)\right) \]
                    8. *-lowering-*.f64100.0%

                      \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), -3\right)\right) \]
                  7. Simplified100.0%

                    \[\leadsto \color{blue}{x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)} \]

                  if -5.49999999999999981e102 < x1 < 5.00000000000000018e153

                  1. Initial program 99.4%

                    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                  2. Simplified99.5%

                    \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                  3. Add Preprocessing
                  4. Taylor expanded in x1 around inf

                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                  5. Step-by-step derivation
                    1. Simplified99.2%

                      \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]

                    if 5.00000000000000018e153 < x1

                    1. Initial program 0.0%

                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                    2. Simplified0.0%

                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                    3. Add Preprocessing
                    4. Taylor expanded in x1 around 0

                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                    5. Simplified69.0%

                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                    6. Taylor expanded in x2 around 0

                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                    7. Step-by-step derivation
                      1. sub-negN/A

                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                      2. metadata-evalN/A

                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                      3. +-lowering-+.f64N/A

                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                      4. *-commutativeN/A

                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                      5. *-lowering-*.f64100.0%

                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                    8. Simplified100.0%

                      \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                    9. Taylor expanded in x1 around inf

                      \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                    10. Step-by-step derivation
                      1. *-commutativeN/A

                        \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                      2. unpow2N/A

                        \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                      3. associate-*l*N/A

                        \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                      4. *-commutativeN/A

                        \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                      5. *-lowering-*.f64N/A

                        \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                      6. *-commutativeN/A

                        \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                      7. *-lowering-*.f64100.0%

                        \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                    11. Simplified100.0%

                      \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]
                  6. Recombined 3 regimes into one program.
                  7. Add Preprocessing

                  Alternative 6: 95.9% accurate, 3.6× speedup?

                  \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -2.02 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 150000:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + \left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \end{array} \]
                  (FPCore (x1 x2)
                   :precision binary64
                   (if (<= x1 -2.02e+14)
                     (* (* (* x1 x1) (* x1 x1)) (- 6.0 (/ (/ (* x2 -8.0) x1) x1)))
                     (if (<= x1 150000.0)
                       (+
                        (* x1 (+ -1.0 (* x1 9.0)))
                        (* x2 (+ -6.0 (+ (* x1 (+ (* x1 12.0) -12.0)) (* 8.0 (* x1 x2))))))
                       (* (* x1 x1) (+ (* x1 (+ -3.0 (* x1 6.0))) (+ -3.0 (* x2 8.0)))))))
                  double code(double x1, double x2) {
                  	double tmp;
                  	if (x1 <= -2.02e+14) {
                  		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                  	} else if (x1 <= 150000.0) {
                  		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))));
                  	} else {
                  		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                  	}
                  	return tmp;
                  }
                  
                  real(8) function code(x1, x2)
                      real(8), intent (in) :: x1
                      real(8), intent (in) :: x2
                      real(8) :: tmp
                      if (x1 <= (-2.02d+14)) then
                          tmp = ((x1 * x1) * (x1 * x1)) * (6.0d0 - (((x2 * (-8.0d0)) / x1) / x1))
                      else if (x1 <= 150000.0d0) then
                          tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * ((-6.0d0) + ((x1 * ((x1 * 12.0d0) + (-12.0d0))) + (8.0d0 * (x1 * x2)))))
                      else
                          tmp = (x1 * x1) * ((x1 * ((-3.0d0) + (x1 * 6.0d0))) + ((-3.0d0) + (x2 * 8.0d0)))
                      end if
                      code = tmp
                  end function
                  
                  public static double code(double x1, double x2) {
                  	double tmp;
                  	if (x1 <= -2.02e+14) {
                  		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                  	} else if (x1 <= 150000.0) {
                  		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))));
                  	} else {
                  		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                  	}
                  	return tmp;
                  }
                  
                  def code(x1, x2):
                  	tmp = 0
                  	if x1 <= -2.02e+14:
                  		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1))
                  	elif x1 <= 150000.0:
                  		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))))
                  	else:
                  		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)))
                  	return tmp
                  
                  function code(x1, x2)
                  	tmp = 0.0
                  	if (x1 <= -2.02e+14)
                  		tmp = Float64(Float64(Float64(x1 * x1) * Float64(x1 * x1)) * Float64(6.0 - Float64(Float64(Float64(x2 * -8.0) / x1) / x1)));
                  	elseif (x1 <= 150000.0)
                  		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * Float64(-6.0 + Float64(Float64(x1 * Float64(Float64(x1 * 12.0) + -12.0)) + Float64(8.0 * Float64(x1 * x2))))));
                  	else
                  		tmp = Float64(Float64(x1 * x1) * Float64(Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))) + Float64(-3.0 + Float64(x2 * 8.0))));
                  	end
                  	return tmp
                  end
                  
                  function tmp_2 = code(x1, x2)
                  	tmp = 0.0;
                  	if (x1 <= -2.02e+14)
                  		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                  	elseif (x1 <= 150000.0)
                  		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + ((x1 * ((x1 * 12.0) + -12.0)) + (8.0 * (x1 * x2)))));
                  	else
                  		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                  	end
                  	tmp_2 = tmp;
                  end
                  
                  code[x1_, x2_] := If[LessEqual[x1, -2.02e+14], N[(N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * x1), $MachinePrecision]), $MachinePrecision] * N[(6.0 - N[(N[(N[(x2 * -8.0), $MachinePrecision] / x1), $MachinePrecision] / x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 150000.0], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * N[(-6.0 + N[(N[(x1 * N[(N[(x1 * 12.0), $MachinePrecision] + -12.0), $MachinePrecision]), $MachinePrecision] + N[(8.0 * N[(x1 * x2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
                  
                  \begin{array}{l}
                  
                  \\
                  \begin{array}{l}
                  \mathbf{if}\;x1 \leq -2.02 \cdot 10^{+14}:\\
                  \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\
                  
                  \mathbf{elif}\;x1 \leq 150000:\\
                  \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + \left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right)\right)\\
                  
                  \mathbf{else}:\\
                  \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\
                  
                  
                  \end{array}
                  \end{array}
                  
                  Derivation
                  1. Split input into 3 regimes
                  2. if x1 < -2.02e14

                    1. Initial program 27.1%

                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                    2. Simplified27.1%

                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                    3. Add Preprocessing
                    4. Taylor expanded in x1 around inf

                      \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                    5. Step-by-step derivation
                      1. Simplified27.1%

                        \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                      2. Taylor expanded in x1 around -inf

                        \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                      3. Step-by-step derivation
                        1. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                        2. metadata-evalN/A

                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        3. pow-sqrN/A

                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        4. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        5. unpow2N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        6. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        7. unpow2N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        8. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                        9. mul-1-negN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                        10. unsub-negN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                        11. --lowering--.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                        12. /-lowering-/.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                      4. Simplified94.9%

                        \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                      5. Taylor expanded in x2 around inf

                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(-8 \cdot \frac{x2}{{x1}^{2}}\right)}\right)\right) \]
                      6. Step-by-step derivation
                        1. associate-*r/N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{-8 \cdot x2}{\color{blue}{{x1}^{2}}}\right)\right)\right) \]
                        2. metadata-evalN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\left(\mathsf{neg}\left(8\right)\right) \cdot x2}{{x1}^{2}}\right)\right)\right) \]
                        3. distribute-lft-neg-inN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{{\color{blue}{x1}}^{2}}\right)\right)\right) \]
                        4. unpow2N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1 \cdot \color{blue}{x1}}\right)\right)\right) \]
                        5. associate-/r*N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}}{\color{blue}{x1}}\right)\right)\right) \]
                        6. distribute-neg-fracN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)}{x1}\right)\right)\right) \]
                        7. associate-*r/N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)}{x1}\right)\right)\right) \]
                        8. /-lowering-/.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)\right), \color{blue}{x1}\right)\right)\right) \]
                        9. associate-*r/N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)\right), x1\right)\right)\right) \]
                        10. distribute-neg-fracN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}\right), x1\right)\right)\right) \]
                        11. /-lowering-/.f64N/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot x2\right)\right), x1\right), x1\right)\right)\right) \]
                        12. *-commutativeN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(x2 \cdot 8\right)\right), x1\right), x1\right)\right)\right) \]
                        13. distribute-rgt-neg-inN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot \left(\mathsf{neg}\left(8\right)\right)\right), x1\right), x1\right)\right)\right) \]
                        14. metadata-evalN/A

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot -8\right), x1\right), x1\right)\right)\right) \]
                        15. *-lowering-*.f6494.9%

                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(x2, -8\right), x1\right), x1\right)\right)\right) \]
                      7. Simplified94.9%

                        \[\leadsto \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \color{blue}{\frac{\frac{x2 \cdot -8}{x1}}{x1}}\right) \]

                      if -2.02e14 < x1 < 1.5e5

                      1. Initial program 99.4%

                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                      2. Simplified99.5%

                        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                      3. Add Preprocessing
                      4. Taylor expanded in x1 around 0

                        \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                      5. Simplified87.5%

                        \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                      6. Taylor expanded in x2 around 0

                        \[\leadsto \color{blue}{x1 \cdot \left(9 \cdot x1 - 1\right) + x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)} \]
                      7. Step-by-step derivation
                        1. +-lowering-+.f64N/A

                          \[\leadsto \mathsf{+.f64}\left(\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right), \color{blue}{\left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)}\right) \]
                        2. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 - 1\right)\right), \left(\color{blue}{x2} \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
                        3. sub-negN/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
                        4. metadata-evalN/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
                        5. +-lowering-+.f64N/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
                        6. *-commutativeN/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
                        7. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \left(x2 \cdot \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)\right)\right) \]
                        8. *-lowering-*.f64N/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) - 6\right)}\right)\right) \]
                        9. sub-negN/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) + \color{blue}{\left(\mathsf{neg}\left(6\right)\right)}\right)\right)\right) \]
                        10. metadata-evalN/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right) + -6\right)\right)\right) \]
                        11. +-lowering-+.f64N/A

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\left(8 \cdot \left(x1 \cdot x2\right) + x1 \cdot \left(12 \cdot x1 - 12\right)\right), \color{blue}{-6}\right)\right)\right) \]
                      8. Simplified98.4%

                        \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right) + x2 \cdot \left(\left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right) + -6\right)} \]

                      if 1.5e5 < x1

                      1. Initial program 48.9%

                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                      2. Simplified49.0%

                        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                      3. Add Preprocessing
                      4. Taylor expanded in x1 around inf

                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                      5. Step-by-step derivation
                        1. Simplified49.0%

                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                        2. Taylor expanded in x1 around -inf

                          \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                        3. Step-by-step derivation
                          1. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                          2. metadata-evalN/A

                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          3. pow-sqrN/A

                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          4. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          5. unpow2N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          6. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          7. unpow2N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          8. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                          9. mul-1-negN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                          10. unsub-negN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                          11. --lowering--.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                          12. /-lowering-/.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                        4. Simplified90.8%

                          \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                        5. Taylor expanded in x1 around 0

                          \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                        6. Step-by-step derivation
                          1. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                          2. unpow2N/A

                            \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                          3. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                          4. +-commutativeN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                          5. associate--l+N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                          6. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                          7. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                          8. sub-negN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                          9. metadata-evalN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                          10. +-commutativeN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                          11. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                          12. *-commutativeN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                          13. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                          14. sub-negN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                          15. metadata-evalN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                          16. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                          17. *-commutativeN/A

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                          18. *-lowering-*.f6491.0%

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                        7. Simplified91.0%

                          \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                      6. Recombined 3 regimes into one program.
                      7. Final simplification95.7%

                        \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -2.02 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 150000:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + \left(x1 \cdot \left(x1 \cdot 12 + -12\right) + 8 \cdot \left(x1 \cdot x2\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \]
                      8. Add Preprocessing

                      Alternative 7: 83.7% accurate, 4.0× speedup?

                      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 2.2 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \end{array} \]
                      (FPCore (x1 x2)
                       :precision binary64
                       (if (<= x1 -2e+14)
                         (* (* (* x1 x1) (* x1 x1)) (- 6.0 (/ (/ (* x2 -8.0) x1) x1)))
                         (if (<= x1 2.2e-279)
                           (+ (* x2 -6.0) (* x2 (* x1 (* x2 8.0))))
                           (if (<= x1 0.07)
                             (+ (* x1 (+ -1.0 (* x1 9.0))) (* x2 -6.0))
                             (* (* x1 x1) (+ (* x1 (+ -3.0 (* x1 6.0))) (+ -3.0 (* x2 8.0))))))))
                      double code(double x1, double x2) {
                      	double tmp;
                      	if (x1 <= -2e+14) {
                      		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                      	} else if (x1 <= 2.2e-279) {
                      		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                      	} else if (x1 <= 0.07) {
                      		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                      	} else {
                      		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                      	}
                      	return tmp;
                      }
                      
                      real(8) function code(x1, x2)
                          real(8), intent (in) :: x1
                          real(8), intent (in) :: x2
                          real(8) :: tmp
                          if (x1 <= (-2d+14)) then
                              tmp = ((x1 * x1) * (x1 * x1)) * (6.0d0 - (((x2 * (-8.0d0)) / x1) / x1))
                          else if (x1 <= 2.2d-279) then
                              tmp = (x2 * (-6.0d0)) + (x2 * (x1 * (x2 * 8.0d0)))
                          else if (x1 <= 0.07d0) then
                              tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * (-6.0d0))
                          else
                              tmp = (x1 * x1) * ((x1 * ((-3.0d0) + (x1 * 6.0d0))) + ((-3.0d0) + (x2 * 8.0d0)))
                          end if
                          code = tmp
                      end function
                      
                      public static double code(double x1, double x2) {
                      	double tmp;
                      	if (x1 <= -2e+14) {
                      		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                      	} else if (x1 <= 2.2e-279) {
                      		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                      	} else if (x1 <= 0.07) {
                      		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                      	} else {
                      		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                      	}
                      	return tmp;
                      }
                      
                      def code(x1, x2):
                      	tmp = 0
                      	if x1 <= -2e+14:
                      		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1))
                      	elif x1 <= 2.2e-279:
                      		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)))
                      	elif x1 <= 0.07:
                      		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0)
                      	else:
                      		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)))
                      	return tmp
                      
                      function code(x1, x2)
                      	tmp = 0.0
                      	if (x1 <= -2e+14)
                      		tmp = Float64(Float64(Float64(x1 * x1) * Float64(x1 * x1)) * Float64(6.0 - Float64(Float64(Float64(x2 * -8.0) / x1) / x1)));
                      	elseif (x1 <= 2.2e-279)
                      		tmp = Float64(Float64(x2 * -6.0) + Float64(x2 * Float64(x1 * Float64(x2 * 8.0))));
                      	elseif (x1 <= 0.07)
                      		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * -6.0));
                      	else
                      		tmp = Float64(Float64(x1 * x1) * Float64(Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))) + Float64(-3.0 + Float64(x2 * 8.0))));
                      	end
                      	return tmp
                      end
                      
                      function tmp_2 = code(x1, x2)
                      	tmp = 0.0;
                      	if (x1 <= -2e+14)
                      		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                      	elseif (x1 <= 2.2e-279)
                      		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                      	elseif (x1 <= 0.07)
                      		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                      	else
                      		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                      	end
                      	tmp_2 = tmp;
                      end
                      
                      code[x1_, x2_] := If[LessEqual[x1, -2e+14], N[(N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * x1), $MachinePrecision]), $MachinePrecision] * N[(6.0 - N[(N[(N[(x2 * -8.0), $MachinePrecision] / x1), $MachinePrecision] / x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 2.2e-279], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * -6.0), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
                      
                      \begin{array}{l}
                      
                      \\
                      \begin{array}{l}
                      \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\
                      \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\
                      
                      \mathbf{elif}\;x1 \leq 2.2 \cdot 10^{-279}:\\
                      \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                      
                      \mathbf{elif}\;x1 \leq 0.07:\\
                      \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\
                      
                      \mathbf{else}:\\
                      \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\
                      
                      
                      \end{array}
                      \end{array}
                      
                      Derivation
                      1. Split input into 4 regimes
                      2. if x1 < -2e14

                        1. Initial program 27.1%

                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                        2. Simplified27.1%

                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                        3. Add Preprocessing
                        4. Taylor expanded in x1 around inf

                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                        5. Step-by-step derivation
                          1. Simplified27.1%

                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                          2. Taylor expanded in x1 around -inf

                            \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                          3. Step-by-step derivation
                            1. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                            2. metadata-evalN/A

                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            3. pow-sqrN/A

                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            4. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            5. unpow2N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            6. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            7. unpow2N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            8. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                            9. mul-1-negN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                            10. unsub-negN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                            11. --lowering--.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                            12. /-lowering-/.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                          4. Simplified94.9%

                            \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                          5. Taylor expanded in x2 around inf

                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(-8 \cdot \frac{x2}{{x1}^{2}}\right)}\right)\right) \]
                          6. Step-by-step derivation
                            1. associate-*r/N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{-8 \cdot x2}{\color{blue}{{x1}^{2}}}\right)\right)\right) \]
                            2. metadata-evalN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\left(\mathsf{neg}\left(8\right)\right) \cdot x2}{{x1}^{2}}\right)\right)\right) \]
                            3. distribute-lft-neg-inN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{{\color{blue}{x1}}^{2}}\right)\right)\right) \]
                            4. unpow2N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1 \cdot \color{blue}{x1}}\right)\right)\right) \]
                            5. associate-/r*N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}}{\color{blue}{x1}}\right)\right)\right) \]
                            6. distribute-neg-fracN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)}{x1}\right)\right)\right) \]
                            7. associate-*r/N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)}{x1}\right)\right)\right) \]
                            8. /-lowering-/.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)\right), \color{blue}{x1}\right)\right)\right) \]
                            9. associate-*r/N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)\right), x1\right)\right)\right) \]
                            10. distribute-neg-fracN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}\right), x1\right)\right)\right) \]
                            11. /-lowering-/.f64N/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot x2\right)\right), x1\right), x1\right)\right)\right) \]
                            12. *-commutativeN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(x2 \cdot 8\right)\right), x1\right), x1\right)\right)\right) \]
                            13. distribute-rgt-neg-inN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot \left(\mathsf{neg}\left(8\right)\right)\right), x1\right), x1\right)\right)\right) \]
                            14. metadata-evalN/A

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot -8\right), x1\right), x1\right)\right)\right) \]
                            15. *-lowering-*.f6494.9%

                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(x2, -8\right), x1\right), x1\right)\right)\right) \]
                          7. Simplified94.9%

                            \[\leadsto \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \color{blue}{\frac{\frac{x2 \cdot -8}{x1}}{x1}}\right) \]

                          if -2e14 < x1 < 2.2e-279

                          1. Initial program 99.5%

                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                          2. Simplified99.5%

                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                          3. Add Preprocessing
                          4. Taylor expanded in x1 around 0

                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                          5. Simplified83.4%

                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                          6. Taylor expanded in x2 around 0

                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                          7. Step-by-step derivation
                            1. sub-negN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                            2. metadata-evalN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                            3. +-lowering-+.f64N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                            4. *-commutativeN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                            5. *-lowering-*.f6483.4%

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                          8. Simplified83.4%

                            \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                          9. Taylor expanded in x2 around inf

                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(8 \cdot \left(x1 \cdot {x2}^{2}\right)\right)}\right) \]
                          10. Step-by-step derivation
                            1. unpow2N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                            2. associate-*r*N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right)\right)\right) \]
                            3. associate-*l*N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(\left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2}\right)\right) \]
                            4. *-commutativeN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                            5. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                            6. *-commutativeN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right)\right) \]
                            7. associate-*l*N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right)\right) \]
                            8. *-commutativeN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                            9. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right)\right) \]
                            10. *-commutativeN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right)\right) \]
                            11. *-lowering-*.f6481.4%

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right)\right) \]
                          11. Simplified81.4%

                            \[\leadsto -6 \cdot x2 + \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                          if 2.2e-279 < x1 < 0.070000000000000007

                          1. Initial program 99.3%

                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                          2. Simplified99.4%

                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                          3. Add Preprocessing
                          4. Taylor expanded in x1 around 0

                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                          5. Simplified95.7%

                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                          6. Taylor expanded in x2 around 0

                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right)}\right) \]
                          7. Step-by-step derivation
                            1. *-lowering-*.f64N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right) \]
                            2. sub-negN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right) \]
                            3. metadata-evalN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right)\right) \]
                            4. +-lowering-+.f64N/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right) \]
                            5. *-commutativeN/A

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right) \]
                            6. *-lowering-*.f6482.8%

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right) \]
                          8. Simplified82.8%

                            \[\leadsto -6 \cdot x2 + \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right)} \]

                          if 0.070000000000000007 < x1

                          1. Initial program 50.6%

                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                          2. Simplified50.7%

                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                          3. Add Preprocessing
                          4. Taylor expanded in x1 around inf

                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                          5. Step-by-step derivation
                            1. Simplified50.7%

                              \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                            2. Taylor expanded in x1 around -inf

                              \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                            3. Step-by-step derivation
                              1. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                              2. metadata-evalN/A

                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              3. pow-sqrN/A

                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              4. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              5. unpow2N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              6. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              7. unpow2N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              8. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                              9. mul-1-negN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                              10. unsub-negN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                              11. --lowering--.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                              12. /-lowering-/.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                            4. Simplified88.0%

                              \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                            5. Taylor expanded in x1 around 0

                              \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                            6. Step-by-step derivation
                              1. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                              2. unpow2N/A

                                \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                              3. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                              4. +-commutativeN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                              5. associate--l+N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                              6. +-lowering-+.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                              7. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                              8. sub-negN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                              9. metadata-evalN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                              10. +-commutativeN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                              11. +-lowering-+.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                              12. *-commutativeN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                              13. *-lowering-*.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                              14. sub-negN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                              15. metadata-evalN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                              16. +-lowering-+.f64N/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                              17. *-commutativeN/A

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                              18. *-lowering-*.f6488.2%

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                            7. Simplified88.2%

                              \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                          6. Recombined 4 regimes into one program.
                          7. Final simplification87.3%

                            \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 2.2 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \]
                          8. Add Preprocessing

                          Alternative 8: 83.7% accurate, 4.0× speedup?

                          \[\begin{array}{l} \\ \begin{array}{l} t_0 := -3 + x2 \cdot 8\\ \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(t\_0 + x1 \cdot \left(x1 \cdot 6\right)\right)\\ \mathbf{elif}\;x1 \leq 8 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + t\_0\right)\\ \end{array} \end{array} \]
                          (FPCore (x1 x2)
                           :precision binary64
                           (let* ((t_0 (+ -3.0 (* x2 8.0))))
                             (if (<= x1 -2e+14)
                               (* (* x1 x1) (+ t_0 (* x1 (* x1 6.0))))
                               (if (<= x1 8e-279)
                                 (+ (* x2 -6.0) (* x2 (* x1 (* x2 8.0))))
                                 (if (<= x1 0.07)
                                   (+ (* x1 (+ -1.0 (* x1 9.0))) (* x2 -6.0))
                                   (* (* x1 x1) (+ (* x1 (+ -3.0 (* x1 6.0))) t_0)))))))
                          double code(double x1, double x2) {
                          	double t_0 = -3.0 + (x2 * 8.0);
                          	double tmp;
                          	if (x1 <= -2e+14) {
                          		tmp = (x1 * x1) * (t_0 + (x1 * (x1 * 6.0)));
                          	} else if (x1 <= 8e-279) {
                          		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                          	} else if (x1 <= 0.07) {
                          		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                          	} else {
                          		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + t_0);
                          	}
                          	return tmp;
                          }
                          
                          real(8) function code(x1, x2)
                              real(8), intent (in) :: x1
                              real(8), intent (in) :: x2
                              real(8) :: t_0
                              real(8) :: tmp
                              t_0 = (-3.0d0) + (x2 * 8.0d0)
                              if (x1 <= (-2d+14)) then
                                  tmp = (x1 * x1) * (t_0 + (x1 * (x1 * 6.0d0)))
                              else if (x1 <= 8d-279) then
                                  tmp = (x2 * (-6.0d0)) + (x2 * (x1 * (x2 * 8.0d0)))
                              else if (x1 <= 0.07d0) then
                                  tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * (-6.0d0))
                              else
                                  tmp = (x1 * x1) * ((x1 * ((-3.0d0) + (x1 * 6.0d0))) + t_0)
                              end if
                              code = tmp
                          end function
                          
                          public static double code(double x1, double x2) {
                          	double t_0 = -3.0 + (x2 * 8.0);
                          	double tmp;
                          	if (x1 <= -2e+14) {
                          		tmp = (x1 * x1) * (t_0 + (x1 * (x1 * 6.0)));
                          	} else if (x1 <= 8e-279) {
                          		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                          	} else if (x1 <= 0.07) {
                          		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                          	} else {
                          		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + t_0);
                          	}
                          	return tmp;
                          }
                          
                          def code(x1, x2):
                          	t_0 = -3.0 + (x2 * 8.0)
                          	tmp = 0
                          	if x1 <= -2e+14:
                          		tmp = (x1 * x1) * (t_0 + (x1 * (x1 * 6.0)))
                          	elif x1 <= 8e-279:
                          		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)))
                          	elif x1 <= 0.07:
                          		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0)
                          	else:
                          		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + t_0)
                          	return tmp
                          
                          function code(x1, x2)
                          	t_0 = Float64(-3.0 + Float64(x2 * 8.0))
                          	tmp = 0.0
                          	if (x1 <= -2e+14)
                          		tmp = Float64(Float64(x1 * x1) * Float64(t_0 + Float64(x1 * Float64(x1 * 6.0))));
                          	elseif (x1 <= 8e-279)
                          		tmp = Float64(Float64(x2 * -6.0) + Float64(x2 * Float64(x1 * Float64(x2 * 8.0))));
                          	elseif (x1 <= 0.07)
                          		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * -6.0));
                          	else
                          		tmp = Float64(Float64(x1 * x1) * Float64(Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))) + t_0));
                          	end
                          	return tmp
                          end
                          
                          function tmp_2 = code(x1, x2)
                          	t_0 = -3.0 + (x2 * 8.0);
                          	tmp = 0.0;
                          	if (x1 <= -2e+14)
                          		tmp = (x1 * x1) * (t_0 + (x1 * (x1 * 6.0)));
                          	elseif (x1 <= 8e-279)
                          		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                          	elseif (x1 <= 0.07)
                          		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                          	else
                          		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + t_0);
                          	end
                          	tmp_2 = tmp;
                          end
                          
                          code[x1_, x2_] := Block[{t$95$0 = N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -2e+14], N[(N[(x1 * x1), $MachinePrecision] * N[(t$95$0 + N[(x1 * N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 8e-279], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * -6.0), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$0), $MachinePrecision]), $MachinePrecision]]]]]
                          
                          \begin{array}{l}
                          
                          \\
                          \begin{array}{l}
                          t_0 := -3 + x2 \cdot 8\\
                          \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\
                          \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(t\_0 + x1 \cdot \left(x1 \cdot 6\right)\right)\\
                          
                          \mathbf{elif}\;x1 \leq 8 \cdot 10^{-279}:\\
                          \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                          
                          \mathbf{elif}\;x1 \leq 0.07:\\
                          \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + t\_0\right)\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 4 regimes
                          2. if x1 < -2e14

                            1. Initial program 27.1%

                              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                            2. Simplified27.1%

                              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                            3. Add Preprocessing
                            4. Taylor expanded in x1 around inf

                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                            5. Step-by-step derivation
                              1. Simplified27.1%

                                \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                              2. Taylor expanded in x1 around -inf

                                \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                              3. Step-by-step derivation
                                1. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                2. metadata-evalN/A

                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                3. pow-sqrN/A

                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                4. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                5. unpow2N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                6. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                7. unpow2N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                8. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                9. mul-1-negN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                10. unsub-negN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                11. --lowering--.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                12. /-lowering-/.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                              4. Simplified94.9%

                                \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                              5. Taylor expanded in x1 around 0

                                \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                              6. Step-by-step derivation
                                1. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                                2. unpow2N/A

                                  \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                3. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                4. +-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                                5. associate--l+N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                6. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                7. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                                8. sub-negN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                9. metadata-evalN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                10. +-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                11. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                12. *-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                13. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                14. sub-negN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                15. metadata-evalN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                                16. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                                17. *-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                                18. *-lowering-*.f6494.9%

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                              7. Simplified94.9%

                                \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                              8. Taylor expanded in x1 around inf

                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\color{blue}{\left(6 \cdot {x1}^{2}\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                              9. Step-by-step derivation
                                1. *-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left({x1}^{2} \cdot 6\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(x2, 8\right)}, -3\right)\right)\right) \]
                                2. unpow2N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(\left(x1 \cdot x1\right) \cdot 6\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{x2}, 8\right), -3\right)\right)\right) \]
                                3. associate-*l*N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(x1 \cdot 6\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(x2, 8\right)}, -3\right)\right)\right) \]
                                4. *-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \color{blue}{8}\right), -3\right)\right)\right) \]
                                5. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(x2, 8\right)}, -3\right)\right)\right) \]
                                6. *-commutativeN/A

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(x1 \cdot 6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \color{blue}{8}\right), -3\right)\right)\right) \]
                                7. *-lowering-*.f6494.9%

                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, 6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \color{blue}{8}\right), -3\right)\right)\right) \]
                              10. Simplified94.9%

                                \[\leadsto \left(x1 \cdot x1\right) \cdot \left(\color{blue}{x1 \cdot \left(x1 \cdot 6\right)} + \left(x2 \cdot 8 + -3\right)\right) \]

                              if -2e14 < x1 < 8.00000000000000044e-279

                              1. Initial program 99.5%

                                \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                              2. Simplified99.5%

                                \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                              3. Add Preprocessing
                              4. Taylor expanded in x1 around 0

                                \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                              5. Simplified83.4%

                                \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                              6. Taylor expanded in x2 around 0

                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                              7. Step-by-step derivation
                                1. sub-negN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                2. metadata-evalN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                3. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                4. *-commutativeN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                5. *-lowering-*.f6483.4%

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                              8. Simplified83.4%

                                \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                              9. Taylor expanded in x2 around inf

                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(8 \cdot \left(x1 \cdot {x2}^{2}\right)\right)}\right) \]
                              10. Step-by-step derivation
                                1. unpow2N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                2. associate-*r*N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right)\right)\right) \]
                                3. associate-*l*N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(\left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2}\right)\right) \]
                                4. *-commutativeN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                                5. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                                6. *-commutativeN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right)\right) \]
                                7. associate-*l*N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right)\right) \]
                                8. *-commutativeN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                9. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right)\right) \]
                                10. *-commutativeN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right)\right) \]
                                11. *-lowering-*.f6481.4%

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right)\right) \]
                              11. Simplified81.4%

                                \[\leadsto -6 \cdot x2 + \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                              if 8.00000000000000044e-279 < x1 < 0.070000000000000007

                              1. Initial program 99.3%

                                \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                              2. Simplified99.4%

                                \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                              3. Add Preprocessing
                              4. Taylor expanded in x1 around 0

                                \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                              5. Simplified95.7%

                                \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                              6. Taylor expanded in x2 around 0

                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right)}\right) \]
                              7. Step-by-step derivation
                                1. *-lowering-*.f64N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right) \]
                                2. sub-negN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right) \]
                                3. metadata-evalN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right)\right) \]
                                4. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right) \]
                                5. *-commutativeN/A

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right) \]
                                6. *-lowering-*.f6482.8%

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right) \]
                              8. Simplified82.8%

                                \[\leadsto -6 \cdot x2 + \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right)} \]

                              if 0.070000000000000007 < x1

                              1. Initial program 50.6%

                                \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                              2. Simplified50.7%

                                \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                              3. Add Preprocessing
                              4. Taylor expanded in x1 around inf

                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                              5. Step-by-step derivation
                                1. Simplified50.7%

                                  \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                2. Taylor expanded in x1 around -inf

                                  \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                3. Step-by-step derivation
                                  1. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                  2. metadata-evalN/A

                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  3. pow-sqrN/A

                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  4. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  5. unpow2N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  6. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  7. unpow2N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  8. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                  9. mul-1-negN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                  10. unsub-negN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                  11. --lowering--.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                  12. /-lowering-/.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                4. Simplified88.0%

                                  \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                5. Taylor expanded in x1 around 0

                                  \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                                6. Step-by-step derivation
                                  1. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                                  2. unpow2N/A

                                    \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                  3. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                  4. +-commutativeN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                                  5. associate--l+N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                  6. +-lowering-+.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                  7. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                                  8. sub-negN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                  9. metadata-evalN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                  10. +-commutativeN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                  11. +-lowering-+.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                  12. *-commutativeN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                  13. *-lowering-*.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                  14. sub-negN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                  15. metadata-evalN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                                  16. +-lowering-+.f64N/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                                  17. *-commutativeN/A

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                                  18. *-lowering-*.f6488.2%

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                                7. Simplified88.2%

                                  \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                              6. Recombined 4 regimes into one program.
                              7. Final simplification87.3%

                                \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(\left(-3 + x2 \cdot 8\right) + x1 \cdot \left(x1 \cdot 6\right)\right)\\ \mathbf{elif}\;x1 \leq 8 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \]
                              8. Add Preprocessing

                              Alternative 9: 83.5% accurate, 4.2× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(x1 \cdot x1\right) \cdot \left(\left(-3 + x2 \cdot 8\right) + x1 \cdot \left(x1 \cdot 6\right)\right)\\ \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq 4.2 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.044:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                              (FPCore (x1 x2)
                               :precision binary64
                               (let* ((t_0 (* (* x1 x1) (+ (+ -3.0 (* x2 8.0)) (* x1 (* x1 6.0))))))
                                 (if (<= x1 -2e+14)
                                   t_0
                                   (if (<= x1 4.2e-279)
                                     (+ (* x2 -6.0) (* x2 (* x1 (* x2 8.0))))
                                     (if (<= x1 0.044) (+ (* x1 (+ -1.0 (* x1 9.0))) (* x2 -6.0)) t_0)))))
                              double code(double x1, double x2) {
                              	double t_0 = (x1 * x1) * ((-3.0 + (x2 * 8.0)) + (x1 * (x1 * 6.0)));
                              	double tmp;
                              	if (x1 <= -2e+14) {
                              		tmp = t_0;
                              	} else if (x1 <= 4.2e-279) {
                              		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                              	} else if (x1 <= 0.044) {
                              		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                              	} else {
                              		tmp = t_0;
                              	}
                              	return tmp;
                              }
                              
                              real(8) function code(x1, x2)
                                  real(8), intent (in) :: x1
                                  real(8), intent (in) :: x2
                                  real(8) :: t_0
                                  real(8) :: tmp
                                  t_0 = (x1 * x1) * (((-3.0d0) + (x2 * 8.0d0)) + (x1 * (x1 * 6.0d0)))
                                  if (x1 <= (-2d+14)) then
                                      tmp = t_0
                                  else if (x1 <= 4.2d-279) then
                                      tmp = (x2 * (-6.0d0)) + (x2 * (x1 * (x2 * 8.0d0)))
                                  else if (x1 <= 0.044d0) then
                                      tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * (-6.0d0))
                                  else
                                      tmp = t_0
                                  end if
                                  code = tmp
                              end function
                              
                              public static double code(double x1, double x2) {
                              	double t_0 = (x1 * x1) * ((-3.0 + (x2 * 8.0)) + (x1 * (x1 * 6.0)));
                              	double tmp;
                              	if (x1 <= -2e+14) {
                              		tmp = t_0;
                              	} else if (x1 <= 4.2e-279) {
                              		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                              	} else if (x1 <= 0.044) {
                              		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                              	} else {
                              		tmp = t_0;
                              	}
                              	return tmp;
                              }
                              
                              def code(x1, x2):
                              	t_0 = (x1 * x1) * ((-3.0 + (x2 * 8.0)) + (x1 * (x1 * 6.0)))
                              	tmp = 0
                              	if x1 <= -2e+14:
                              		tmp = t_0
                              	elif x1 <= 4.2e-279:
                              		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)))
                              	elif x1 <= 0.044:
                              		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0)
                              	else:
                              		tmp = t_0
                              	return tmp
                              
                              function code(x1, x2)
                              	t_0 = Float64(Float64(x1 * x1) * Float64(Float64(-3.0 + Float64(x2 * 8.0)) + Float64(x1 * Float64(x1 * 6.0))))
                              	tmp = 0.0
                              	if (x1 <= -2e+14)
                              		tmp = t_0;
                              	elseif (x1 <= 4.2e-279)
                              		tmp = Float64(Float64(x2 * -6.0) + Float64(x2 * Float64(x1 * Float64(x2 * 8.0))));
                              	elseif (x1 <= 0.044)
                              		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * -6.0));
                              	else
                              		tmp = t_0;
                              	end
                              	return tmp
                              end
                              
                              function tmp_2 = code(x1, x2)
                              	t_0 = (x1 * x1) * ((-3.0 + (x2 * 8.0)) + (x1 * (x1 * 6.0)));
                              	tmp = 0.0;
                              	if (x1 <= -2e+14)
                              		tmp = t_0;
                              	elseif (x1 <= 4.2e-279)
                              		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                              	elseif (x1 <= 0.044)
                              		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                              	else
                              		tmp = t_0;
                              	end
                              	tmp_2 = tmp;
                              end
                              
                              code[x1_, x2_] := Block[{t$95$0 = N[(N[(x1 * x1), $MachinePrecision] * N[(N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision] + N[(x1 * N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -2e+14], t$95$0, If[LessEqual[x1, 4.2e-279], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.044], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * -6.0), $MachinePrecision]), $MachinePrecision], t$95$0]]]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              t_0 := \left(x1 \cdot x1\right) \cdot \left(\left(-3 + x2 \cdot 8\right) + x1 \cdot \left(x1 \cdot 6\right)\right)\\
                              \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\
                              \;\;\;\;t\_0\\
                              
                              \mathbf{elif}\;x1 \leq 4.2 \cdot 10^{-279}:\\
                              \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                              
                              \mathbf{elif}\;x1 \leq 0.044:\\
                              \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;t\_0\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 3 regimes
                              2. if x1 < -2e14 or 0.043999999999999997 < x1

                                1. Initial program 37.3%

                                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                2. Simplified37.4%

                                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                3. Add Preprocessing
                                4. Taylor expanded in x1 around inf

                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                5. Step-by-step derivation
                                  1. Simplified37.4%

                                    \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                  2. Taylor expanded in x1 around -inf

                                    \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                  3. Step-by-step derivation
                                    1. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                    2. metadata-evalN/A

                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    3. pow-sqrN/A

                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    4. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    5. unpow2N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    6. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    7. unpow2N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    8. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                    9. mul-1-negN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                    10. unsub-negN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                    11. --lowering--.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                    12. /-lowering-/.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                  4. Simplified91.9%

                                    \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                  5. Taylor expanded in x1 around 0

                                    \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                                  6. Step-by-step derivation
                                    1. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                                    2. unpow2N/A

                                      \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                    3. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                    4. +-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                                    5. associate--l+N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                    6. +-lowering-+.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                    7. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                                    8. sub-negN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                    9. metadata-evalN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                    10. +-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                    11. +-lowering-+.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                    12. *-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                    13. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                    14. sub-negN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                    15. metadata-evalN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                                    16. +-lowering-+.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                                    17. *-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                                    18. *-lowering-*.f6492.0%

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                                  7. Simplified92.0%

                                    \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                                  8. Taylor expanded in x1 around inf

                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\color{blue}{\left(6 \cdot {x1}^{2}\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                                  9. Step-by-step derivation
                                    1. *-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left({x1}^{2} \cdot 6\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(x2, 8\right)}, -3\right)\right)\right) \]
                                    2. unpow2N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(\left(x1 \cdot x1\right) \cdot 6\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{x2}, 8\right), -3\right)\right)\right) \]
                                    3. associate-*l*N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(x1 \cdot 6\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(x2, 8\right)}, -3\right)\right)\right) \]
                                    4. *-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \color{blue}{8}\right), -3\right)\right)\right) \]
                                    5. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(x2, 8\right)}, -3\right)\right)\right) \]
                                    6. *-commutativeN/A

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(x1 \cdot 6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \color{blue}{8}\right), -3\right)\right)\right) \]
                                    7. *-lowering-*.f6491.9%

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, 6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \color{blue}{8}\right), -3\right)\right)\right) \]
                                  10. Simplified91.9%

                                    \[\leadsto \left(x1 \cdot x1\right) \cdot \left(\color{blue}{x1 \cdot \left(x1 \cdot 6\right)} + \left(x2 \cdot 8 + -3\right)\right) \]

                                  if -2e14 < x1 < 4.20000000000000011e-279

                                  1. Initial program 99.5%

                                    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                  2. Simplified99.5%

                                    \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                  3. Add Preprocessing
                                  4. Taylor expanded in x1 around 0

                                    \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                  5. Simplified83.4%

                                    \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                  6. Taylor expanded in x2 around 0

                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                  7. Step-by-step derivation
                                    1. sub-negN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                    2. metadata-evalN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                    3. +-lowering-+.f64N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                    4. *-commutativeN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                    5. *-lowering-*.f6483.4%

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                  8. Simplified83.4%

                                    \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                  9. Taylor expanded in x2 around inf

                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(8 \cdot \left(x1 \cdot {x2}^{2}\right)\right)}\right) \]
                                  10. Step-by-step derivation
                                    1. unpow2N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                    2. associate-*r*N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right)\right)\right) \]
                                    3. associate-*l*N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(\left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2}\right)\right) \]
                                    4. *-commutativeN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                                    5. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                                    6. *-commutativeN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right)\right) \]
                                    7. associate-*l*N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right)\right) \]
                                    8. *-commutativeN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                    9. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right)\right) \]
                                    10. *-commutativeN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right)\right) \]
                                    11. *-lowering-*.f6481.4%

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right)\right) \]
                                  11. Simplified81.4%

                                    \[\leadsto -6 \cdot x2 + \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                                  if 4.20000000000000011e-279 < x1 < 0.043999999999999997

                                  1. Initial program 99.3%

                                    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                  2. Simplified99.4%

                                    \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                  3. Add Preprocessing
                                  4. Taylor expanded in x1 around 0

                                    \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                  5. Simplified95.7%

                                    \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                  6. Taylor expanded in x2 around 0

                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right)}\right) \]
                                  7. Step-by-step derivation
                                    1. *-lowering-*.f64N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right) \]
                                    2. sub-negN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right) \]
                                    3. metadata-evalN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right)\right) \]
                                    4. +-lowering-+.f64N/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right) \]
                                    5. *-commutativeN/A

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right) \]
                                    6. *-lowering-*.f6482.8%

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right) \]
                                  8. Simplified82.8%

                                    \[\leadsto -6 \cdot x2 + \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right)} \]
                                6. Recombined 3 regimes into one program.
                                7. Final simplification87.2%

                                  \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(\left(-3 + x2 \cdot 8\right) + x1 \cdot \left(x1 \cdot 6\right)\right)\\ \mathbf{elif}\;x1 \leq 4.2 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.044:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(\left(-3 + x2 \cdot 8\right) + x1 \cdot \left(x1 \cdot 6\right)\right)\\ \end{array} \]
                                8. Add Preprocessing

                                Alternative 10: 96.0% accurate, 4.4× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 15000:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + x1 \cdot \left(-12 + x2 \cdot 8\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \end{array} \]
                                (FPCore (x1 x2)
                                 :precision binary64
                                 (if (<= x1 -2e+14)
                                   (* (* (* x1 x1) (* x1 x1)) (- 6.0 (/ (/ (* x2 -8.0) x1) x1)))
                                   (if (<= x1 15000.0)
                                     (+ (* x1 (+ -1.0 (* x1 9.0))) (* x2 (+ -6.0 (* x1 (+ -12.0 (* x2 8.0))))))
                                     (* (* x1 x1) (+ (* x1 (+ -3.0 (* x1 6.0))) (+ -3.0 (* x2 8.0)))))))
                                double code(double x1, double x2) {
                                	double tmp;
                                	if (x1 <= -2e+14) {
                                		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                	} else if (x1 <= 15000.0) {
                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + (x1 * (-12.0 + (x2 * 8.0)))));
                                	} else {
                                		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                	}
                                	return tmp;
                                }
                                
                                real(8) function code(x1, x2)
                                    real(8), intent (in) :: x1
                                    real(8), intent (in) :: x2
                                    real(8) :: tmp
                                    if (x1 <= (-2d+14)) then
                                        tmp = ((x1 * x1) * (x1 * x1)) * (6.0d0 - (((x2 * (-8.0d0)) / x1) / x1))
                                    else if (x1 <= 15000.0d0) then
                                        tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * ((-6.0d0) + (x1 * ((-12.0d0) + (x2 * 8.0d0)))))
                                    else
                                        tmp = (x1 * x1) * ((x1 * ((-3.0d0) + (x1 * 6.0d0))) + ((-3.0d0) + (x2 * 8.0d0)))
                                    end if
                                    code = tmp
                                end function
                                
                                public static double code(double x1, double x2) {
                                	double tmp;
                                	if (x1 <= -2e+14) {
                                		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                	} else if (x1 <= 15000.0) {
                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + (x1 * (-12.0 + (x2 * 8.0)))));
                                	} else {
                                		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                	}
                                	return tmp;
                                }
                                
                                def code(x1, x2):
                                	tmp = 0
                                	if x1 <= -2e+14:
                                		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1))
                                	elif x1 <= 15000.0:
                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + (x1 * (-12.0 + (x2 * 8.0)))))
                                	else:
                                		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)))
                                	return tmp
                                
                                function code(x1, x2)
                                	tmp = 0.0
                                	if (x1 <= -2e+14)
                                		tmp = Float64(Float64(Float64(x1 * x1) * Float64(x1 * x1)) * Float64(6.0 - Float64(Float64(Float64(x2 * -8.0) / x1) / x1)));
                                	elseif (x1 <= 15000.0)
                                		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * Float64(-6.0 + Float64(x1 * Float64(-12.0 + Float64(x2 * 8.0))))));
                                	else
                                		tmp = Float64(Float64(x1 * x1) * Float64(Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))) + Float64(-3.0 + Float64(x2 * 8.0))));
                                	end
                                	return tmp
                                end
                                
                                function tmp_2 = code(x1, x2)
                                	tmp = 0.0;
                                	if (x1 <= -2e+14)
                                		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                	elseif (x1 <= 15000.0)
                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * (-6.0 + (x1 * (-12.0 + (x2 * 8.0)))));
                                	else
                                		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                	end
                                	tmp_2 = tmp;
                                end
                                
                                code[x1_, x2_] := If[LessEqual[x1, -2e+14], N[(N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * x1), $MachinePrecision]), $MachinePrecision] * N[(6.0 - N[(N[(N[(x2 * -8.0), $MachinePrecision] / x1), $MachinePrecision] / x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 15000.0], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * N[(-6.0 + N[(x1 * N[(-12.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\
                                \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\
                                
                                \mathbf{elif}\;x1 \leq 15000:\\
                                \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + x1 \cdot \left(-12 + x2 \cdot 8\right)\right)\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\
                                
                                
                                \end{array}
                                \end{array}
                                
                                Derivation
                                1. Split input into 3 regimes
                                2. if x1 < -2e14

                                  1. Initial program 27.1%

                                    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                  2. Simplified27.1%

                                    \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                  3. Add Preprocessing
                                  4. Taylor expanded in x1 around inf

                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                  5. Step-by-step derivation
                                    1. Simplified27.1%

                                      \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                    2. Taylor expanded in x1 around -inf

                                      \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                    3. Step-by-step derivation
                                      1. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                      2. metadata-evalN/A

                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      3. pow-sqrN/A

                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      4. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      5. unpow2N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      6. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      7. unpow2N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      8. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                      9. mul-1-negN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                      10. unsub-negN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                      11. --lowering--.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                      12. /-lowering-/.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                    4. Simplified94.9%

                                      \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                    5. Taylor expanded in x2 around inf

                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(-8 \cdot \frac{x2}{{x1}^{2}}\right)}\right)\right) \]
                                    6. Step-by-step derivation
                                      1. associate-*r/N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{-8 \cdot x2}{\color{blue}{{x1}^{2}}}\right)\right)\right) \]
                                      2. metadata-evalN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\left(\mathsf{neg}\left(8\right)\right) \cdot x2}{{x1}^{2}}\right)\right)\right) \]
                                      3. distribute-lft-neg-inN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{{\color{blue}{x1}}^{2}}\right)\right)\right) \]
                                      4. unpow2N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1 \cdot \color{blue}{x1}}\right)\right)\right) \]
                                      5. associate-/r*N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}}{\color{blue}{x1}}\right)\right)\right) \]
                                      6. distribute-neg-fracN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)}{x1}\right)\right)\right) \]
                                      7. associate-*r/N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)}{x1}\right)\right)\right) \]
                                      8. /-lowering-/.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)\right), \color{blue}{x1}\right)\right)\right) \]
                                      9. associate-*r/N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)\right), x1\right)\right)\right) \]
                                      10. distribute-neg-fracN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}\right), x1\right)\right)\right) \]
                                      11. /-lowering-/.f64N/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot x2\right)\right), x1\right), x1\right)\right)\right) \]
                                      12. *-commutativeN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(x2 \cdot 8\right)\right), x1\right), x1\right)\right)\right) \]
                                      13. distribute-rgt-neg-inN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot \left(\mathsf{neg}\left(8\right)\right)\right), x1\right), x1\right)\right)\right) \]
                                      14. metadata-evalN/A

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot -8\right), x1\right), x1\right)\right)\right) \]
                                      15. *-lowering-*.f6494.9%

                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(x2, -8\right), x1\right), x1\right)\right)\right) \]
                                    7. Simplified94.9%

                                      \[\leadsto \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \color{blue}{\frac{\frac{x2 \cdot -8}{x1}}{x1}}\right) \]

                                    if -2e14 < x1 < 15000

                                    1. Initial program 99.4%

                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                    2. Simplified99.5%

                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                    3. Add Preprocessing
                                    4. Taylor expanded in x1 around 0

                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                    5. Simplified87.5%

                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                    6. Taylor expanded in x2 around 0

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                    7. Step-by-step derivation
                                      1. sub-negN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                      2. metadata-evalN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                      3. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                      4. *-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                      5. *-lowering-*.f6487.5%

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                    8. Simplified87.5%

                                      \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                    9. Taylor expanded in x2 around 0

                                      \[\leadsto \color{blue}{x1 \cdot \left(9 \cdot x1 - 1\right) + x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)} \]
                                    10. Step-by-step derivation
                                      1. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right), \color{blue}{\left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)}\right) \]
                                      2. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 - 1\right)\right), \left(\color{blue}{x2} \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                      3. sub-negN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                      4. metadata-evalN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                      5. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                      6. *-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                      7. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                      8. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)}\right)\right) \]
                                      9. associate--l+N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \left(-12 \cdot x1 + \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right) - 6\right)}\right)\right)\right) \]
                                      10. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\left(-12 \cdot x1\right), \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right) - 6\right)}\right)\right)\right) \]
                                      11. *-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\left(x1 \cdot -12\right), \left(\color{blue}{8 \cdot \left(x1 \cdot x2\right)} - 6\right)\right)\right)\right) \]
                                      12. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \left(\color{blue}{8 \cdot \left(x1 \cdot x2\right)} - 6\right)\right)\right)\right) \]
                                      13. sub-negN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \left(8 \cdot \left(x1 \cdot x2\right) + \color{blue}{\left(\mathsf{neg}\left(6\right)\right)}\right)\right)\right)\right) \]
                                      14. metadata-evalN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \left(8 \cdot \left(x1 \cdot x2\right) + -6\right)\right)\right)\right) \]
                                      15. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(8 \cdot \left(x1 \cdot x2\right)\right), \color{blue}{-6}\right)\right)\right)\right) \]
                                      16. *-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(\left(x1 \cdot x2\right) \cdot 8\right), -6\right)\right)\right)\right) \]
                                      17. associate-*l*N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(x2 \cdot 8\right)\right), -6\right)\right)\right)\right) \]
                                      18. *-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(8 \cdot x2\right)\right), -6\right)\right)\right)\right) \]
                                      19. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(8 \cdot x2\right)\right), -6\right)\right)\right)\right) \]
                                      20. *-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(x2 \cdot 8\right)\right), -6\right)\right)\right)\right) \]
                                      21. *-lowering-*.f6498.4%

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, 8\right)\right), -6\right)\right)\right)\right) \]
                                    11. Simplified98.4%

                                      \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right) + x2 \cdot \left(x1 \cdot -12 + \left(x1 \cdot \left(x2 \cdot 8\right) + -6\right)\right)} \]
                                    12. Step-by-step derivation
                                      1. +-commutativeN/A

                                        \[\leadsto x2 \cdot \left(x1 \cdot -12 + \left(x1 \cdot \left(x2 \cdot 8\right) + -6\right)\right) + \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right)} \]
                                      2. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\left(x2 \cdot \left(x1 \cdot -12 + \left(x1 \cdot \left(x2 \cdot 8\right) + -6\right)\right)\right), \color{blue}{\left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)}\right) \]
                                      3. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \left(x1 \cdot -12 + \left(x1 \cdot \left(x2 \cdot 8\right) + -6\right)\right)\right), \left(\color{blue}{x1} \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      4. associate-+r+N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \left(\left(x1 \cdot -12 + x1 \cdot \left(x2 \cdot 8\right)\right) + -6\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      5. +-commutativeN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \left(-6 + \left(x1 \cdot -12 + x1 \cdot \left(x2 \cdot 8\right)\right)\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      6. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \left(x1 \cdot -12 + x1 \cdot \left(x2 \cdot 8\right)\right)\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      7. distribute-lft-outN/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \left(x1 \cdot \left(-12 + x2 \cdot 8\right)\right)\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      8. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(x1, \left(-12 + x2 \cdot 8\right)\right)\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      9. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-12, \left(x2 \cdot 8\right)\right)\right)\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      10. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-12, \mathsf{*.f64}\left(x2, 8\right)\right)\right)\right)\right), \left(x1 \cdot \left(x1 \cdot 9 + -1\right)\right)\right) \]
                                      11. *-lowering-*.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-12, \mathsf{*.f64}\left(x2, 8\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(x1 \cdot 9 + -1\right)}\right)\right) \]
                                      12. +-lowering-+.f64N/A

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-12, \mathsf{*.f64}\left(x2, 8\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), \color{blue}{-1}\right)\right)\right) \]
                                      13. *-lowering-*.f6498.4%

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-12, \mathsf{*.f64}\left(x2, 8\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right) \]
                                    13. Applied egg-rr98.4%

                                      \[\leadsto \color{blue}{x2 \cdot \left(-6 + x1 \cdot \left(-12 + x2 \cdot 8\right)\right) + x1 \cdot \left(x1 \cdot 9 + -1\right)} \]

                                    if 15000 < x1

                                    1. Initial program 48.9%

                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                    2. Simplified49.0%

                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                    3. Add Preprocessing
                                    4. Taylor expanded in x1 around inf

                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                    5. Step-by-step derivation
                                      1. Simplified49.0%

                                        \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                      2. Taylor expanded in x1 around -inf

                                        \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                      3. Step-by-step derivation
                                        1. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                        2. metadata-evalN/A

                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        3. pow-sqrN/A

                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        4. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        5. unpow2N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        6. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        7. unpow2N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        8. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                        9. mul-1-negN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                        10. unsub-negN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                        11. --lowering--.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                        12. /-lowering-/.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                      4. Simplified90.8%

                                        \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                      5. Taylor expanded in x1 around 0

                                        \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                                      6. Step-by-step derivation
                                        1. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                                        2. unpow2N/A

                                          \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                        3. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                        4. +-commutativeN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                                        5. associate--l+N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                        6. +-lowering-+.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                        7. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                                        8. sub-negN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                        9. metadata-evalN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                        10. +-commutativeN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                        11. +-lowering-+.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                        12. *-commutativeN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                        13. *-lowering-*.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                        14. sub-negN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                        15. metadata-evalN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                                        16. +-lowering-+.f64N/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                                        17. *-commutativeN/A

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                                        18. *-lowering-*.f6491.0%

                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                                      7. Simplified91.0%

                                        \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                                    6. Recombined 3 regimes into one program.
                                    7. Final simplification95.7%

                                      \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 15000:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot \left(-6 + x1 \cdot \left(-12 + x2 \cdot 8\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \]
                                    8. Add Preprocessing

                                    Alternative 11: 72.1% accurate, 4.7× speedup?

                                    \[\begin{array}{l} \\ \begin{array}{l} t_0 := x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{if}\;x1 \leq -8.8 \cdot 10^{+101}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq -1.8 \cdot 10^{-57}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq 2.3 \cdot 10^{-13}:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{elif}\;x1 \leq 8.2 \cdot 10^{+152}:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \end{array} \]
                                    (FPCore (x1 x2)
                                     :precision binary64
                                     (let* ((t_0 (* x2 (* x1 (* x2 8.0)))))
                                       (if (<= x1 -8.8e+101)
                                         (* x1 (* (* x1 x1) -3.0))
                                         (if (<= x1 -1.8e-57)
                                           t_0
                                           (if (<= x1 2.3e-13)
                                             (- (* x2 -6.0) x1)
                                             (if (<= x1 8.2e+152) t_0 (* x1 (* x1 9.0))))))))
                                    double code(double x1, double x2) {
                                    	double t_0 = x2 * (x1 * (x2 * 8.0));
                                    	double tmp;
                                    	if (x1 <= -8.8e+101) {
                                    		tmp = x1 * ((x1 * x1) * -3.0);
                                    	} else if (x1 <= -1.8e-57) {
                                    		tmp = t_0;
                                    	} else if (x1 <= 2.3e-13) {
                                    		tmp = (x2 * -6.0) - x1;
                                    	} else if (x1 <= 8.2e+152) {
                                    		tmp = t_0;
                                    	} else {
                                    		tmp = x1 * (x1 * 9.0);
                                    	}
                                    	return tmp;
                                    }
                                    
                                    real(8) function code(x1, x2)
                                        real(8), intent (in) :: x1
                                        real(8), intent (in) :: x2
                                        real(8) :: t_0
                                        real(8) :: tmp
                                        t_0 = x2 * (x1 * (x2 * 8.0d0))
                                        if (x1 <= (-8.8d+101)) then
                                            tmp = x1 * ((x1 * x1) * (-3.0d0))
                                        else if (x1 <= (-1.8d-57)) then
                                            tmp = t_0
                                        else if (x1 <= 2.3d-13) then
                                            tmp = (x2 * (-6.0d0)) - x1
                                        else if (x1 <= 8.2d+152) then
                                            tmp = t_0
                                        else
                                            tmp = x1 * (x1 * 9.0d0)
                                        end if
                                        code = tmp
                                    end function
                                    
                                    public static double code(double x1, double x2) {
                                    	double t_0 = x2 * (x1 * (x2 * 8.0));
                                    	double tmp;
                                    	if (x1 <= -8.8e+101) {
                                    		tmp = x1 * ((x1 * x1) * -3.0);
                                    	} else if (x1 <= -1.8e-57) {
                                    		tmp = t_0;
                                    	} else if (x1 <= 2.3e-13) {
                                    		tmp = (x2 * -6.0) - x1;
                                    	} else if (x1 <= 8.2e+152) {
                                    		tmp = t_0;
                                    	} else {
                                    		tmp = x1 * (x1 * 9.0);
                                    	}
                                    	return tmp;
                                    }
                                    
                                    def code(x1, x2):
                                    	t_0 = x2 * (x1 * (x2 * 8.0))
                                    	tmp = 0
                                    	if x1 <= -8.8e+101:
                                    		tmp = x1 * ((x1 * x1) * -3.0)
                                    	elif x1 <= -1.8e-57:
                                    		tmp = t_0
                                    	elif x1 <= 2.3e-13:
                                    		tmp = (x2 * -6.0) - x1
                                    	elif x1 <= 8.2e+152:
                                    		tmp = t_0
                                    	else:
                                    		tmp = x1 * (x1 * 9.0)
                                    	return tmp
                                    
                                    function code(x1, x2)
                                    	t_0 = Float64(x2 * Float64(x1 * Float64(x2 * 8.0)))
                                    	tmp = 0.0
                                    	if (x1 <= -8.8e+101)
                                    		tmp = Float64(x1 * Float64(Float64(x1 * x1) * -3.0));
                                    	elseif (x1 <= -1.8e-57)
                                    		tmp = t_0;
                                    	elseif (x1 <= 2.3e-13)
                                    		tmp = Float64(Float64(x2 * -6.0) - x1);
                                    	elseif (x1 <= 8.2e+152)
                                    		tmp = t_0;
                                    	else
                                    		tmp = Float64(x1 * Float64(x1 * 9.0));
                                    	end
                                    	return tmp
                                    end
                                    
                                    function tmp_2 = code(x1, x2)
                                    	t_0 = x2 * (x1 * (x2 * 8.0));
                                    	tmp = 0.0;
                                    	if (x1 <= -8.8e+101)
                                    		tmp = x1 * ((x1 * x1) * -3.0);
                                    	elseif (x1 <= -1.8e-57)
                                    		tmp = t_0;
                                    	elseif (x1 <= 2.3e-13)
                                    		tmp = (x2 * -6.0) - x1;
                                    	elseif (x1 <= 8.2e+152)
                                    		tmp = t_0;
                                    	else
                                    		tmp = x1 * (x1 * 9.0);
                                    	end
                                    	tmp_2 = tmp;
                                    end
                                    
                                    code[x1_, x2_] := Block[{t$95$0 = N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -8.8e+101], N[(x1 * N[(N[(x1 * x1), $MachinePrecision] * -3.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -1.8e-57], t$95$0, If[LessEqual[x1, 2.3e-13], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], If[LessEqual[x1, 8.2e+152], t$95$0, N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]]]]]]
                                    
                                    \begin{array}{l}
                                    
                                    \\
                                    \begin{array}{l}
                                    t_0 := x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                                    \mathbf{if}\;x1 \leq -8.8 \cdot 10^{+101}:\\
                                    \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\
                                    
                                    \mathbf{elif}\;x1 \leq -1.8 \cdot 10^{-57}:\\
                                    \;\;\;\;t\_0\\
                                    
                                    \mathbf{elif}\;x1 \leq 2.3 \cdot 10^{-13}:\\
                                    \;\;\;\;x2 \cdot -6 - x1\\
                                    
                                    \mathbf{elif}\;x1 \leq 8.2 \cdot 10^{+152}:\\
                                    \;\;\;\;t\_0\\
                                    
                                    \mathbf{else}:\\
                                    \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\
                                    
                                    
                                    \end{array}
                                    \end{array}
                                    
                                    Derivation
                                    1. Split input into 4 regimes
                                    2. if x1 < -8.8000000000000003e101

                                      1. Initial program 0.0%

                                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                      2. Simplified0.0%

                                        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                      3. Add Preprocessing
                                      4. Taylor expanded in x1 around inf

                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                      5. Step-by-step derivation
                                        1. Simplified0.0%

                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                        2. Taylor expanded in x1 around inf

                                          \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                        3. Step-by-step derivation
                                          1. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                          2. metadata-evalN/A

                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          3. pow-sqrN/A

                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          4. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          5. unpow2N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          6. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          7. unpow2N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          8. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                          9. sub-negN/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                          10. +-lowering-+.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                          11. associate-*r/N/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                          12. metadata-evalN/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                          13. distribute-neg-fracN/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                          14. metadata-evalN/A

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                          15. /-lowering-/.f64100.0%

                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                        4. Simplified100.0%

                                          \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                        5. Taylor expanded in x1 around 0

                                          \[\leadsto \color{blue}{-3 \cdot {x1}^{3}} \]
                                        6. Step-by-step derivation
                                          1. *-commutativeN/A

                                            \[\leadsto {x1}^{3} \cdot \color{blue}{-3} \]
                                          2. cube-multN/A

                                            \[\leadsto \left(x1 \cdot \left(x1 \cdot x1\right)\right) \cdot -3 \]
                                          3. unpow2N/A

                                            \[\leadsto \left(x1 \cdot {x1}^{2}\right) \cdot -3 \]
                                          4. associate-*l*N/A

                                            \[\leadsto x1 \cdot \color{blue}{\left({x1}^{2} \cdot -3\right)} \]
                                          5. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2} \cdot -3\right)}\right) \]
                                          6. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{-3}\right)\right) \]
                                          7. unpow2N/A

                                            \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), -3\right)\right) \]
                                          8. *-lowering-*.f64100.0%

                                            \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), -3\right)\right) \]
                                        7. Simplified100.0%

                                          \[\leadsto \color{blue}{x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)} \]

                                        if -8.8000000000000003e101 < x1 < -1.8000000000000001e-57 or 2.29999999999999979e-13 < x1 < 8.1999999999999996e152

                                        1. Initial program 99.4%

                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                        2. Simplified99.6%

                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                        3. Add Preprocessing
                                        4. Taylor expanded in x1 around 0

                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                        5. Simplified45.4%

                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                        6. Taylor expanded in x2 around 0

                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                        7. Step-by-step derivation
                                          1. sub-negN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                          2. metadata-evalN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                          3. +-lowering-+.f64N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                          4. *-commutativeN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                          5. *-lowering-*.f6448.4%

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                        8. Simplified48.4%

                                          \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                        9. Taylor expanded in x2 around inf

                                          \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot {x2}^{2}\right)} \]
                                        10. Step-by-step derivation
                                          1. unpow2N/A

                                            \[\leadsto 8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right) \]
                                          2. associate-*r*N/A

                                            \[\leadsto 8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right) \]
                                          3. associate-*l*N/A

                                            \[\leadsto \left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2} \]
                                          4. *-commutativeN/A

                                            \[\leadsto x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)} \]
                                          5. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right) \]
                                          6. *-commutativeN/A

                                            \[\leadsto \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right) \]
                                          7. associate-*l*N/A

                                            \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right) \]
                                          8. *-commutativeN/A

                                            \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right) \]
                                          9. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right) \]
                                          10. *-commutativeN/A

                                            \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right) \]
                                          11. *-lowering-*.f6441.7%

                                            \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right) \]
                                        11. Simplified41.7%

                                          \[\leadsto \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                                        if -1.8000000000000001e-57 < x1 < 2.29999999999999979e-13

                                        1. Initial program 99.4%

                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                        2. Simplified99.5%

                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                        3. Add Preprocessing
                                        4. Applied egg-rr99.5%

                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                        5. Taylor expanded in x1 around inf

                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                        6. Step-by-step derivation
                                          1. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          2. metadata-evalN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          3. pow-sqrN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          4. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          5. unpow2N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          6. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          7. unpow2N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          8. *-lowering-*.f6480.9%

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                        7. Simplified80.9%

                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                        8. Taylor expanded in x1 around 0

                                          \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                        9. Step-by-step derivation
                                          1. mul-1-negN/A

                                            \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                          2. unsub-negN/A

                                            \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                          3. --lowering--.f64N/A

                                            \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                          4. *-commutativeN/A

                                            \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                          5. *-lowering-*.f6481.1%

                                            \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                        10. Simplified81.1%

                                          \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]

                                        if 8.1999999999999996e152 < x1

                                        1. Initial program 0.0%

                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                        2. Simplified0.0%

                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                        3. Add Preprocessing
                                        4. Taylor expanded in x1 around 0

                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                        5. Simplified69.0%

                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                        6. Taylor expanded in x2 around 0

                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                        7. Step-by-step derivation
                                          1. sub-negN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                          2. metadata-evalN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                          3. +-lowering-+.f64N/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                          4. *-commutativeN/A

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                          5. *-lowering-*.f64100.0%

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                        8. Simplified100.0%

                                          \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                        9. Taylor expanded in x1 around inf

                                          \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                                        10. Step-by-step derivation
                                          1. *-commutativeN/A

                                            \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                                          2. unpow2N/A

                                            \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                                          3. associate-*l*N/A

                                            \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                                          4. *-commutativeN/A

                                            \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                                          5. *-lowering-*.f64N/A

                                            \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                                          6. *-commutativeN/A

                                            \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                                          7. *-lowering-*.f64100.0%

                                            \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                                        11. Simplified100.0%

                                          \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]
                                      6. Recombined 4 regimes into one program.
                                      7. Add Preprocessing

                                      Alternative 12: 72.0% accurate, 4.7× speedup?

                                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := 8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)\\ \mathbf{if}\;x1 \leq -2.25 \cdot 10^{+102}:\\ \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\ \mathbf{elif}\;x1 \leq -6.6 \cdot 10^{-58}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq 5 \cdot 10^{-15}:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{elif}\;x1 \leq 4.5 \cdot 10^{+153}:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \end{array} \]
                                      (FPCore (x1 x2)
                                       :precision binary64
                                       (let* ((t_0 (* 8.0 (* x1 (* x2 x2)))))
                                         (if (<= x1 -2.25e+102)
                                           (* x1 (* (* x1 x1) -3.0))
                                           (if (<= x1 -6.6e-58)
                                             t_0
                                             (if (<= x1 5e-15)
                                               (- (* x2 -6.0) x1)
                                               (if (<= x1 4.5e+153) t_0 (* x1 (* x1 9.0))))))))
                                      double code(double x1, double x2) {
                                      	double t_0 = 8.0 * (x1 * (x2 * x2));
                                      	double tmp;
                                      	if (x1 <= -2.25e+102) {
                                      		tmp = x1 * ((x1 * x1) * -3.0);
                                      	} else if (x1 <= -6.6e-58) {
                                      		tmp = t_0;
                                      	} else if (x1 <= 5e-15) {
                                      		tmp = (x2 * -6.0) - x1;
                                      	} else if (x1 <= 4.5e+153) {
                                      		tmp = t_0;
                                      	} else {
                                      		tmp = x1 * (x1 * 9.0);
                                      	}
                                      	return tmp;
                                      }
                                      
                                      real(8) function code(x1, x2)
                                          real(8), intent (in) :: x1
                                          real(8), intent (in) :: x2
                                          real(8) :: t_0
                                          real(8) :: tmp
                                          t_0 = 8.0d0 * (x1 * (x2 * x2))
                                          if (x1 <= (-2.25d+102)) then
                                              tmp = x1 * ((x1 * x1) * (-3.0d0))
                                          else if (x1 <= (-6.6d-58)) then
                                              tmp = t_0
                                          else if (x1 <= 5d-15) then
                                              tmp = (x2 * (-6.0d0)) - x1
                                          else if (x1 <= 4.5d+153) then
                                              tmp = t_0
                                          else
                                              tmp = x1 * (x1 * 9.0d0)
                                          end if
                                          code = tmp
                                      end function
                                      
                                      public static double code(double x1, double x2) {
                                      	double t_0 = 8.0 * (x1 * (x2 * x2));
                                      	double tmp;
                                      	if (x1 <= -2.25e+102) {
                                      		tmp = x1 * ((x1 * x1) * -3.0);
                                      	} else if (x1 <= -6.6e-58) {
                                      		tmp = t_0;
                                      	} else if (x1 <= 5e-15) {
                                      		tmp = (x2 * -6.0) - x1;
                                      	} else if (x1 <= 4.5e+153) {
                                      		tmp = t_0;
                                      	} else {
                                      		tmp = x1 * (x1 * 9.0);
                                      	}
                                      	return tmp;
                                      }
                                      
                                      def code(x1, x2):
                                      	t_0 = 8.0 * (x1 * (x2 * x2))
                                      	tmp = 0
                                      	if x1 <= -2.25e+102:
                                      		tmp = x1 * ((x1 * x1) * -3.0)
                                      	elif x1 <= -6.6e-58:
                                      		tmp = t_0
                                      	elif x1 <= 5e-15:
                                      		tmp = (x2 * -6.0) - x1
                                      	elif x1 <= 4.5e+153:
                                      		tmp = t_0
                                      	else:
                                      		tmp = x1 * (x1 * 9.0)
                                      	return tmp
                                      
                                      function code(x1, x2)
                                      	t_0 = Float64(8.0 * Float64(x1 * Float64(x2 * x2)))
                                      	tmp = 0.0
                                      	if (x1 <= -2.25e+102)
                                      		tmp = Float64(x1 * Float64(Float64(x1 * x1) * -3.0));
                                      	elseif (x1 <= -6.6e-58)
                                      		tmp = t_0;
                                      	elseif (x1 <= 5e-15)
                                      		tmp = Float64(Float64(x2 * -6.0) - x1);
                                      	elseif (x1 <= 4.5e+153)
                                      		tmp = t_0;
                                      	else
                                      		tmp = Float64(x1 * Float64(x1 * 9.0));
                                      	end
                                      	return tmp
                                      end
                                      
                                      function tmp_2 = code(x1, x2)
                                      	t_0 = 8.0 * (x1 * (x2 * x2));
                                      	tmp = 0.0;
                                      	if (x1 <= -2.25e+102)
                                      		tmp = x1 * ((x1 * x1) * -3.0);
                                      	elseif (x1 <= -6.6e-58)
                                      		tmp = t_0;
                                      	elseif (x1 <= 5e-15)
                                      		tmp = (x2 * -6.0) - x1;
                                      	elseif (x1 <= 4.5e+153)
                                      		tmp = t_0;
                                      	else
                                      		tmp = x1 * (x1 * 9.0);
                                      	end
                                      	tmp_2 = tmp;
                                      end
                                      
                                      code[x1_, x2_] := Block[{t$95$0 = N[(8.0 * N[(x1 * N[(x2 * x2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -2.25e+102], N[(x1 * N[(N[(x1 * x1), $MachinePrecision] * -3.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -6.6e-58], t$95$0, If[LessEqual[x1, 5e-15], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], If[LessEqual[x1, 4.5e+153], t$95$0, N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]]]]]]
                                      
                                      \begin{array}{l}
                                      
                                      \\
                                      \begin{array}{l}
                                      t_0 := 8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)\\
                                      \mathbf{if}\;x1 \leq -2.25 \cdot 10^{+102}:\\
                                      \;\;\;\;x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)\\
                                      
                                      \mathbf{elif}\;x1 \leq -6.6 \cdot 10^{-58}:\\
                                      \;\;\;\;t\_0\\
                                      
                                      \mathbf{elif}\;x1 \leq 5 \cdot 10^{-15}:\\
                                      \;\;\;\;x2 \cdot -6 - x1\\
                                      
                                      \mathbf{elif}\;x1 \leq 4.5 \cdot 10^{+153}:\\
                                      \;\;\;\;t\_0\\
                                      
                                      \mathbf{else}:\\
                                      \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\
                                      
                                      
                                      \end{array}
                                      \end{array}
                                      
                                      Derivation
                                      1. Split input into 4 regimes
                                      2. if x1 < -2.2500000000000001e102

                                        1. Initial program 0.0%

                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                        2. Simplified0.0%

                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                        3. Add Preprocessing
                                        4. Taylor expanded in x1 around inf

                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                        5. Step-by-step derivation
                                          1. Simplified0.0%

                                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                          2. Taylor expanded in x1 around inf

                                            \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                          3. Step-by-step derivation
                                            1. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                            2. metadata-evalN/A

                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            3. pow-sqrN/A

                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            4. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            5. unpow2N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            6. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            7. unpow2N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            8. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                            9. sub-negN/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                            10. +-lowering-+.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                            11. associate-*r/N/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                            12. metadata-evalN/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                            13. distribute-neg-fracN/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                            14. metadata-evalN/A

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                            15. /-lowering-/.f64100.0%

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                          4. Simplified100.0%

                                            \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                          5. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-3 \cdot {x1}^{3}} \]
                                          6. Step-by-step derivation
                                            1. *-commutativeN/A

                                              \[\leadsto {x1}^{3} \cdot \color{blue}{-3} \]
                                            2. cube-multN/A

                                              \[\leadsto \left(x1 \cdot \left(x1 \cdot x1\right)\right) \cdot -3 \]
                                            3. unpow2N/A

                                              \[\leadsto \left(x1 \cdot {x1}^{2}\right) \cdot -3 \]
                                            4. associate-*l*N/A

                                              \[\leadsto x1 \cdot \color{blue}{\left({x1}^{2} \cdot -3\right)} \]
                                            5. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2} \cdot -3\right)}\right) \]
                                            6. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{-3}\right)\right) \]
                                            7. unpow2N/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), -3\right)\right) \]
                                            8. *-lowering-*.f64100.0%

                                              \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), -3\right)\right) \]
                                          7. Simplified100.0%

                                            \[\leadsto \color{blue}{x1 \cdot \left(\left(x1 \cdot x1\right) \cdot -3\right)} \]

                                          if -2.2500000000000001e102 < x1 < -6.60000000000000052e-58 or 4.99999999999999999e-15 < x1 < 4.5000000000000001e153

                                          1. Initial program 99.4%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified99.6%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                          5. Simplified45.4%

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                          6. Taylor expanded in x2 around inf

                                            \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot {x2}^{2}\right)} \]
                                          7. Step-by-step derivation
                                            1. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(8, \color{blue}{\left(x1 \cdot {x2}^{2}\right)}\right) \]
                                            2. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \color{blue}{\left({x2}^{2}\right)}\right)\right) \]
                                            3. unpow2N/A

                                              \[\leadsto \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{x2}\right)\right)\right) \]
                                            4. *-lowering-*.f6441.7%

                                              \[\leadsto \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{x2}\right)\right)\right) \]
                                          8. Simplified41.7%

                                            \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)} \]

                                          if -6.60000000000000052e-58 < x1 < 4.99999999999999999e-15

                                          1. Initial program 99.4%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified99.5%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Applied egg-rr99.5%

                                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                          5. Taylor expanded in x1 around inf

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          6. Step-by-step derivation
                                            1. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            2. metadata-evalN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            3. pow-sqrN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            4. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            5. unpow2N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            6. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            7. unpow2N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            8. *-lowering-*.f6480.9%

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          7. Simplified80.9%

                                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                          8. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                          9. Step-by-step derivation
                                            1. mul-1-negN/A

                                              \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                            2. unsub-negN/A

                                              \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                            3. --lowering--.f64N/A

                                              \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                            4. *-commutativeN/A

                                              \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                            5. *-lowering-*.f6481.1%

                                              \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                          10. Simplified81.1%

                                            \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]

                                          if 4.5000000000000001e153 < x1

                                          1. Initial program 0.0%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified0.0%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                          5. Simplified69.0%

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                          6. Taylor expanded in x2 around 0

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                          7. Step-by-step derivation
                                            1. sub-negN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                            2. metadata-evalN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                            3. +-lowering-+.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                            4. *-commutativeN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                            5. *-lowering-*.f64100.0%

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                          8. Simplified100.0%

                                            \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                          9. Taylor expanded in x1 around inf

                                            \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                                          10. Step-by-step derivation
                                            1. *-commutativeN/A

                                              \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                                            2. unpow2N/A

                                              \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                                            3. associate-*l*N/A

                                              \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                                            4. *-commutativeN/A

                                              \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                                            5. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                                            6. *-commutativeN/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                                            7. *-lowering-*.f64100.0%

                                              \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                                          11. Simplified100.0%

                                            \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]
                                        6. Recombined 4 regimes into one program.
                                        7. Add Preprocessing

                                        Alternative 13: 68.1% accurate, 4.7× speedup?

                                        \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot \left(x1 \cdot 9\right)\\ t_1 := 8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)\\ \mathbf{if}\;x1 \leq -3.3 \cdot 10^{+108}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq -1.5 \cdot 10^{-57}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;x1 \leq 3.1 \cdot 10^{-15}:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{elif}\;x1 \leq 4.5 \cdot 10^{+153}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                                        (FPCore (x1 x2)
                                         :precision binary64
                                         (let* ((t_0 (* x1 (* x1 9.0))) (t_1 (* 8.0 (* x1 (* x2 x2)))))
                                           (if (<= x1 -3.3e+108)
                                             t_0
                                             (if (<= x1 -1.5e-57)
                                               t_1
                                               (if (<= x1 3.1e-15)
                                                 (- (* x2 -6.0) x1)
                                                 (if (<= x1 4.5e+153) t_1 t_0))))))
                                        double code(double x1, double x2) {
                                        	double t_0 = x1 * (x1 * 9.0);
                                        	double t_1 = 8.0 * (x1 * (x2 * x2));
                                        	double tmp;
                                        	if (x1 <= -3.3e+108) {
                                        		tmp = t_0;
                                        	} else if (x1 <= -1.5e-57) {
                                        		tmp = t_1;
                                        	} else if (x1 <= 3.1e-15) {
                                        		tmp = (x2 * -6.0) - x1;
                                        	} else if (x1 <= 4.5e+153) {
                                        		tmp = t_1;
                                        	} else {
                                        		tmp = t_0;
                                        	}
                                        	return tmp;
                                        }
                                        
                                        real(8) function code(x1, x2)
                                            real(8), intent (in) :: x1
                                            real(8), intent (in) :: x2
                                            real(8) :: t_0
                                            real(8) :: t_1
                                            real(8) :: tmp
                                            t_0 = x1 * (x1 * 9.0d0)
                                            t_1 = 8.0d0 * (x1 * (x2 * x2))
                                            if (x1 <= (-3.3d+108)) then
                                                tmp = t_0
                                            else if (x1 <= (-1.5d-57)) then
                                                tmp = t_1
                                            else if (x1 <= 3.1d-15) then
                                                tmp = (x2 * (-6.0d0)) - x1
                                            else if (x1 <= 4.5d+153) then
                                                tmp = t_1
                                            else
                                                tmp = t_0
                                            end if
                                            code = tmp
                                        end function
                                        
                                        public static double code(double x1, double x2) {
                                        	double t_0 = x1 * (x1 * 9.0);
                                        	double t_1 = 8.0 * (x1 * (x2 * x2));
                                        	double tmp;
                                        	if (x1 <= -3.3e+108) {
                                        		tmp = t_0;
                                        	} else if (x1 <= -1.5e-57) {
                                        		tmp = t_1;
                                        	} else if (x1 <= 3.1e-15) {
                                        		tmp = (x2 * -6.0) - x1;
                                        	} else if (x1 <= 4.5e+153) {
                                        		tmp = t_1;
                                        	} else {
                                        		tmp = t_0;
                                        	}
                                        	return tmp;
                                        }
                                        
                                        def code(x1, x2):
                                        	t_0 = x1 * (x1 * 9.0)
                                        	t_1 = 8.0 * (x1 * (x2 * x2))
                                        	tmp = 0
                                        	if x1 <= -3.3e+108:
                                        		tmp = t_0
                                        	elif x1 <= -1.5e-57:
                                        		tmp = t_1
                                        	elif x1 <= 3.1e-15:
                                        		tmp = (x2 * -6.0) - x1
                                        	elif x1 <= 4.5e+153:
                                        		tmp = t_1
                                        	else:
                                        		tmp = t_0
                                        	return tmp
                                        
                                        function code(x1, x2)
                                        	t_0 = Float64(x1 * Float64(x1 * 9.0))
                                        	t_1 = Float64(8.0 * Float64(x1 * Float64(x2 * x2)))
                                        	tmp = 0.0
                                        	if (x1 <= -3.3e+108)
                                        		tmp = t_0;
                                        	elseif (x1 <= -1.5e-57)
                                        		tmp = t_1;
                                        	elseif (x1 <= 3.1e-15)
                                        		tmp = Float64(Float64(x2 * -6.0) - x1);
                                        	elseif (x1 <= 4.5e+153)
                                        		tmp = t_1;
                                        	else
                                        		tmp = t_0;
                                        	end
                                        	return tmp
                                        end
                                        
                                        function tmp_2 = code(x1, x2)
                                        	t_0 = x1 * (x1 * 9.0);
                                        	t_1 = 8.0 * (x1 * (x2 * x2));
                                        	tmp = 0.0;
                                        	if (x1 <= -3.3e+108)
                                        		tmp = t_0;
                                        	elseif (x1 <= -1.5e-57)
                                        		tmp = t_1;
                                        	elseif (x1 <= 3.1e-15)
                                        		tmp = (x2 * -6.0) - x1;
                                        	elseif (x1 <= 4.5e+153)
                                        		tmp = t_1;
                                        	else
                                        		tmp = t_0;
                                        	end
                                        	tmp_2 = tmp;
                                        end
                                        
                                        code[x1_, x2_] := Block[{t$95$0 = N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(8.0 * N[(x1 * N[(x2 * x2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -3.3e+108], t$95$0, If[LessEqual[x1, -1.5e-57], t$95$1, If[LessEqual[x1, 3.1e-15], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], If[LessEqual[x1, 4.5e+153], t$95$1, t$95$0]]]]]]
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        \begin{array}{l}
                                        t_0 := x1 \cdot \left(x1 \cdot 9\right)\\
                                        t_1 := 8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)\\
                                        \mathbf{if}\;x1 \leq -3.3 \cdot 10^{+108}:\\
                                        \;\;\;\;t\_0\\
                                        
                                        \mathbf{elif}\;x1 \leq -1.5 \cdot 10^{-57}:\\
                                        \;\;\;\;t\_1\\
                                        
                                        \mathbf{elif}\;x1 \leq 3.1 \cdot 10^{-15}:\\
                                        \;\;\;\;x2 \cdot -6 - x1\\
                                        
                                        \mathbf{elif}\;x1 \leq 4.5 \cdot 10^{+153}:\\
                                        \;\;\;\;t\_1\\
                                        
                                        \mathbf{else}:\\
                                        \;\;\;\;t\_0\\
                                        
                                        
                                        \end{array}
                                        \end{array}
                                        
                                        Derivation
                                        1. Split input into 3 regimes
                                        2. if x1 < -3.30000000000000019e108 or 4.5000000000000001e153 < x1

                                          1. Initial program 0.0%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified0.0%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                          5. Simplified59.4%

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                          6. Taylor expanded in x2 around 0

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                          7. Step-by-step derivation
                                            1. sub-negN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                            2. metadata-evalN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                            3. +-lowering-+.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                            4. *-commutativeN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                            5. *-lowering-*.f6468.9%

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                          8. Simplified68.9%

                                            \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                          9. Taylor expanded in x1 around inf

                                            \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                                          10. Step-by-step derivation
                                            1. *-commutativeN/A

                                              \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                                            2. unpow2N/A

                                              \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                                            3. associate-*l*N/A

                                              \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                                            4. *-commutativeN/A

                                              \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                                            5. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                                            6. *-commutativeN/A

                                              \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                                            7. *-lowering-*.f6490.4%

                                              \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                                          11. Simplified90.4%

                                            \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]

                                          if -3.30000000000000019e108 < x1 < -1.5e-57 or 3.0999999999999999e-15 < x1 < 4.5000000000000001e153

                                          1. Initial program 99.4%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified99.6%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                          5. Simplified45.4%

                                            \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                          6. Taylor expanded in x2 around inf

                                            \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot {x2}^{2}\right)} \]
                                          7. Step-by-step derivation
                                            1. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(8, \color{blue}{\left(x1 \cdot {x2}^{2}\right)}\right) \]
                                            2. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \color{blue}{\left({x2}^{2}\right)}\right)\right) \]
                                            3. unpow2N/A

                                              \[\leadsto \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{x2}\right)\right)\right) \]
                                            4. *-lowering-*.f6441.7%

                                              \[\leadsto \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{x2}\right)\right)\right) \]
                                          8. Simplified41.7%

                                            \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)} \]

                                          if -1.5e-57 < x1 < 3.0999999999999999e-15

                                          1. Initial program 99.4%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified99.5%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Applied egg-rr99.5%

                                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                          5. Taylor expanded in x1 around inf

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          6. Step-by-step derivation
                                            1. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            2. metadata-evalN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            3. pow-sqrN/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            4. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            5. unpow2N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            6. *-lowering-*.f64N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            7. unpow2N/A

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                            8. *-lowering-*.f6480.9%

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                          7. Simplified80.9%

                                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                          8. Taylor expanded in x1 around 0

                                            \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                          9. Step-by-step derivation
                                            1. mul-1-negN/A

                                              \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                            2. unsub-negN/A

                                              \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                            3. --lowering--.f64N/A

                                              \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                            4. *-commutativeN/A

                                              \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                            5. *-lowering-*.f6481.1%

                                              \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                          10. Simplified81.1%

                                            \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]
                                        3. Recombined 3 regimes into one program.
                                        4. Add Preprocessing

                                        Alternative 14: 95.7% accurate, 4.7× speedup?

                                        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -8.5 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 820:\\ \;\;\;\;x2 \cdot \left(x1 \cdot -12 + \left(-6 + x1 \cdot \left(x2 \cdot 8\right)\right)\right) - x1\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \end{array} \]
                                        (FPCore (x1 x2)
                                         :precision binary64
                                         (if (<= x1 -8.5e+14)
                                           (* (* (* x1 x1) (* x1 x1)) (- 6.0 (/ (/ (* x2 -8.0) x1) x1)))
                                           (if (<= x1 820.0)
                                             (- (* x2 (+ (* x1 -12.0) (+ -6.0 (* x1 (* x2 8.0))))) x1)
                                             (* (* x1 x1) (+ (* x1 (+ -3.0 (* x1 6.0))) (+ -3.0 (* x2 8.0)))))))
                                        double code(double x1, double x2) {
                                        	double tmp;
                                        	if (x1 <= -8.5e+14) {
                                        		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                        	} else if (x1 <= 820.0) {
                                        		tmp = (x2 * ((x1 * -12.0) + (-6.0 + (x1 * (x2 * 8.0))))) - x1;
                                        	} else {
                                        		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                        	}
                                        	return tmp;
                                        }
                                        
                                        real(8) function code(x1, x2)
                                            real(8), intent (in) :: x1
                                            real(8), intent (in) :: x2
                                            real(8) :: tmp
                                            if (x1 <= (-8.5d+14)) then
                                                tmp = ((x1 * x1) * (x1 * x1)) * (6.0d0 - (((x2 * (-8.0d0)) / x1) / x1))
                                            else if (x1 <= 820.0d0) then
                                                tmp = (x2 * ((x1 * (-12.0d0)) + ((-6.0d0) + (x1 * (x2 * 8.0d0))))) - x1
                                            else
                                                tmp = (x1 * x1) * ((x1 * ((-3.0d0) + (x1 * 6.0d0))) + ((-3.0d0) + (x2 * 8.0d0)))
                                            end if
                                            code = tmp
                                        end function
                                        
                                        public static double code(double x1, double x2) {
                                        	double tmp;
                                        	if (x1 <= -8.5e+14) {
                                        		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                        	} else if (x1 <= 820.0) {
                                        		tmp = (x2 * ((x1 * -12.0) + (-6.0 + (x1 * (x2 * 8.0))))) - x1;
                                        	} else {
                                        		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                        	}
                                        	return tmp;
                                        }
                                        
                                        def code(x1, x2):
                                        	tmp = 0
                                        	if x1 <= -8.5e+14:
                                        		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1))
                                        	elif x1 <= 820.0:
                                        		tmp = (x2 * ((x1 * -12.0) + (-6.0 + (x1 * (x2 * 8.0))))) - x1
                                        	else:
                                        		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)))
                                        	return tmp
                                        
                                        function code(x1, x2)
                                        	tmp = 0.0
                                        	if (x1 <= -8.5e+14)
                                        		tmp = Float64(Float64(Float64(x1 * x1) * Float64(x1 * x1)) * Float64(6.0 - Float64(Float64(Float64(x2 * -8.0) / x1) / x1)));
                                        	elseif (x1 <= 820.0)
                                        		tmp = Float64(Float64(x2 * Float64(Float64(x1 * -12.0) + Float64(-6.0 + Float64(x1 * Float64(x2 * 8.0))))) - x1);
                                        	else
                                        		tmp = Float64(Float64(x1 * x1) * Float64(Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))) + Float64(-3.0 + Float64(x2 * 8.0))));
                                        	end
                                        	return tmp
                                        end
                                        
                                        function tmp_2 = code(x1, x2)
                                        	tmp = 0.0;
                                        	if (x1 <= -8.5e+14)
                                        		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                        	elseif (x1 <= 820.0)
                                        		tmp = (x2 * ((x1 * -12.0) + (-6.0 + (x1 * (x2 * 8.0))))) - x1;
                                        	else
                                        		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                        	end
                                        	tmp_2 = tmp;
                                        end
                                        
                                        code[x1_, x2_] := If[LessEqual[x1, -8.5e+14], N[(N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * x1), $MachinePrecision]), $MachinePrecision] * N[(6.0 - N[(N[(N[(x2 * -8.0), $MachinePrecision] / x1), $MachinePrecision] / x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 820.0], N[(N[(x2 * N[(N[(x1 * -12.0), $MachinePrecision] + N[(-6.0 + N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - x1), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        \begin{array}{l}
                                        \mathbf{if}\;x1 \leq -8.5 \cdot 10^{+14}:\\
                                        \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\
                                        
                                        \mathbf{elif}\;x1 \leq 820:\\
                                        \;\;\;\;x2 \cdot \left(x1 \cdot -12 + \left(-6 + x1 \cdot \left(x2 \cdot 8\right)\right)\right) - x1\\
                                        
                                        \mathbf{else}:\\
                                        \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\
                                        
                                        
                                        \end{array}
                                        \end{array}
                                        
                                        Derivation
                                        1. Split input into 3 regimes
                                        2. if x1 < -8.5e14

                                          1. Initial program 27.1%

                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                          2. Simplified27.1%

                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                          3. Add Preprocessing
                                          4. Taylor expanded in x1 around inf

                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                          5. Step-by-step derivation
                                            1. Simplified27.1%

                                              \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                            2. Taylor expanded in x1 around -inf

                                              \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                            3. Step-by-step derivation
                                              1. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                              2. metadata-evalN/A

                                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              3. pow-sqrN/A

                                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              4. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              5. unpow2N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              6. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              7. unpow2N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              8. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                              9. mul-1-negN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                              10. unsub-negN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                              11. --lowering--.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                              12. /-lowering-/.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                            4. Simplified94.9%

                                              \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                            5. Taylor expanded in x2 around inf

                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(-8 \cdot \frac{x2}{{x1}^{2}}\right)}\right)\right) \]
                                            6. Step-by-step derivation
                                              1. associate-*r/N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{-8 \cdot x2}{\color{blue}{{x1}^{2}}}\right)\right)\right) \]
                                              2. metadata-evalN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\left(\mathsf{neg}\left(8\right)\right) \cdot x2}{{x1}^{2}}\right)\right)\right) \]
                                              3. distribute-lft-neg-inN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{{\color{blue}{x1}}^{2}}\right)\right)\right) \]
                                              4. unpow2N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1 \cdot \color{blue}{x1}}\right)\right)\right) \]
                                              5. associate-/r*N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}}{\color{blue}{x1}}\right)\right)\right) \]
                                              6. distribute-neg-fracN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)}{x1}\right)\right)\right) \]
                                              7. associate-*r/N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)}{x1}\right)\right)\right) \]
                                              8. /-lowering-/.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)\right), \color{blue}{x1}\right)\right)\right) \]
                                              9. associate-*r/N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)\right), x1\right)\right)\right) \]
                                              10. distribute-neg-fracN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}\right), x1\right)\right)\right) \]
                                              11. /-lowering-/.f64N/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot x2\right)\right), x1\right), x1\right)\right)\right) \]
                                              12. *-commutativeN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(x2 \cdot 8\right)\right), x1\right), x1\right)\right)\right) \]
                                              13. distribute-rgt-neg-inN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot \left(\mathsf{neg}\left(8\right)\right)\right), x1\right), x1\right)\right)\right) \]
                                              14. metadata-evalN/A

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot -8\right), x1\right), x1\right)\right)\right) \]
                                              15. *-lowering-*.f6494.9%

                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(x2, -8\right), x1\right), x1\right)\right)\right) \]
                                            7. Simplified94.9%

                                              \[\leadsto \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \color{blue}{\frac{\frac{x2 \cdot -8}{x1}}{x1}}\right) \]

                                            if -8.5e14 < x1 < 820

                                            1. Initial program 99.4%

                                              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                            2. Simplified99.5%

                                              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                            3. Add Preprocessing
                                            4. Taylor expanded in x1 around 0

                                              \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                            5. Simplified87.5%

                                              \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                            6. Taylor expanded in x2 around 0

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                            7. Step-by-step derivation
                                              1. sub-negN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                              2. metadata-evalN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                              3. +-lowering-+.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                              4. *-commutativeN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                              5. *-lowering-*.f6487.5%

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                            8. Simplified87.5%

                                              \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                            9. Taylor expanded in x2 around 0

                                              \[\leadsto \color{blue}{x1 \cdot \left(9 \cdot x1 - 1\right) + x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)} \]
                                            10. Step-by-step derivation
                                              1. +-lowering-+.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right), \color{blue}{\left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)}\right) \]
                                              2. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 - 1\right)\right), \left(\color{blue}{x2} \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                              3. sub-negN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \left(\mathsf{neg}\left(1\right)\right)\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                              4. metadata-evalN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                              5. +-lowering-+.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                              6. *-commutativeN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                              7. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \left(x2 \cdot \left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)\right)\right) \]
                                              8. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(\left(-12 \cdot x1 + 8 \cdot \left(x1 \cdot x2\right)\right) - 6\right)}\right)\right) \]
                                              9. associate--l+N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \left(-12 \cdot x1 + \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right) - 6\right)}\right)\right)\right) \]
                                              10. +-lowering-+.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\left(-12 \cdot x1\right), \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right) - 6\right)}\right)\right)\right) \]
                                              11. *-commutativeN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\left(x1 \cdot -12\right), \left(\color{blue}{8 \cdot \left(x1 \cdot x2\right)} - 6\right)\right)\right)\right) \]
                                              12. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \left(\color{blue}{8 \cdot \left(x1 \cdot x2\right)} - 6\right)\right)\right)\right) \]
                                              13. sub-negN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \left(8 \cdot \left(x1 \cdot x2\right) + \color{blue}{\left(\mathsf{neg}\left(6\right)\right)}\right)\right)\right)\right) \]
                                              14. metadata-evalN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \left(8 \cdot \left(x1 \cdot x2\right) + -6\right)\right)\right)\right) \]
                                              15. +-lowering-+.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(8 \cdot \left(x1 \cdot x2\right)\right), \color{blue}{-6}\right)\right)\right)\right) \]
                                              16. *-commutativeN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(\left(x1 \cdot x2\right) \cdot 8\right), -6\right)\right)\right)\right) \]
                                              17. associate-*l*N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(x2 \cdot 8\right)\right), -6\right)\right)\right)\right) \]
                                              18. *-commutativeN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(8 \cdot x2\right)\right), -6\right)\right)\right)\right) \]
                                              19. *-lowering-*.f64N/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(8 \cdot x2\right)\right), -6\right)\right)\right)\right) \]
                                              20. *-commutativeN/A

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(x2 \cdot 8\right)\right), -6\right)\right)\right)\right) \]
                                              21. *-lowering-*.f6498.4%

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right), \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, 8\right)\right), -6\right)\right)\right)\right) \]
                                            11. Simplified98.4%

                                              \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right) + x2 \cdot \left(x1 \cdot -12 + \left(x1 \cdot \left(x2 \cdot 8\right) + -6\right)\right)} \]
                                            12. Taylor expanded in x1 around 0

                                              \[\leadsto \mathsf{+.f64}\left(\color{blue}{\left(-1 \cdot x1\right)}, \mathsf{*.f64}\left(x2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, 8\right)\right), -6\right)\right)\right)\right) \]
                                            13. Step-by-step derivation
                                              1. mul-1-negN/A

                                                \[\leadsto \mathsf{+.f64}\left(\left(\mathsf{neg}\left(x1\right)\right), \mathsf{*.f64}\left(\color{blue}{x2}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, 8\right)\right), -6\right)\right)\right)\right) \]
                                              2. neg-sub0N/A

                                                \[\leadsto \mathsf{+.f64}\left(\left(0 - x1\right), \mathsf{*.f64}\left(\color{blue}{x2}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, 8\right)\right), -6\right)\right)\right)\right) \]
                                              3. --lowering--.f6497.9%

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{\_.f64}\left(0, x1\right), \mathsf{*.f64}\left(\color{blue}{x2}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, -12\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, 8\right)\right), -6\right)\right)\right)\right) \]
                                            14. Simplified97.9%

                                              \[\leadsto \color{blue}{\left(0 - x1\right)} + x2 \cdot \left(x1 \cdot -12 + \left(x1 \cdot \left(x2 \cdot 8\right) + -6\right)\right) \]

                                            if 820 < x1

                                            1. Initial program 48.9%

                                              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                            2. Simplified49.0%

                                              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                            3. Add Preprocessing
                                            4. Taylor expanded in x1 around inf

                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                            5. Step-by-step derivation
                                              1. Simplified49.0%

                                                \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                              2. Taylor expanded in x1 around -inf

                                                \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                              3. Step-by-step derivation
                                                1. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                                2. metadata-evalN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                3. pow-sqrN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                4. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                5. unpow2N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                6. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                7. unpow2N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                8. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                9. mul-1-negN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                                10. unsub-negN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                                11. --lowering--.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                                12. /-lowering-/.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                              4. Simplified90.8%

                                                \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                              5. Taylor expanded in x1 around 0

                                                \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                                              6. Step-by-step derivation
                                                1. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                                                2. unpow2N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                                3. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                                4. +-commutativeN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                                                5. associate--l+N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                                6. +-lowering-+.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                                7. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                                                8. sub-negN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                                9. metadata-evalN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                                10. +-commutativeN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                                11. +-lowering-+.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                                12. *-commutativeN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                                13. *-lowering-*.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                                14. sub-negN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                15. metadata-evalN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                                                16. +-lowering-+.f64N/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                                                17. *-commutativeN/A

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                                                18. *-lowering-*.f6491.0%

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                                              7. Simplified91.0%

                                                \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                                            6. Recombined 3 regimes into one program.
                                            7. Final simplification95.5%

                                              \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -8.5 \cdot 10^{+14}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 820:\\ \;\;\;\;x2 \cdot \left(x1 \cdot -12 + \left(-6 + x1 \cdot \left(x2 \cdot 8\right)\right)\right) - x1\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \]
                                            8. Add Preprocessing

                                            Alternative 15: 90.1% accurate, 4.7× speedup?

                                            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -4.8 \cdot 10^{+15}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 16000:\\ \;\;\;\;x2 \cdot -6 + x1 \cdot \left(-1 + \left(x2 \cdot 4\right) \cdot \left(2 \cdot x2 + -3\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \end{array} \]
                                            (FPCore (x1 x2)
                                             :precision binary64
                                             (if (<= x1 -4.8e+15)
                                               (* (* (* x1 x1) (* x1 x1)) (- 6.0 (/ (/ (* x2 -8.0) x1) x1)))
                                               (if (<= x1 16000.0)
                                                 (+ (* x2 -6.0) (* x1 (+ -1.0 (* (* x2 4.0) (+ (* 2.0 x2) -3.0)))))
                                                 (* (* x1 x1) (+ (* x1 (+ -3.0 (* x1 6.0))) (+ -3.0 (* x2 8.0)))))))
                                            double code(double x1, double x2) {
                                            	double tmp;
                                            	if (x1 <= -4.8e+15) {
                                            		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                            	} else if (x1 <= 16000.0) {
                                            		tmp = (x2 * -6.0) + (x1 * (-1.0 + ((x2 * 4.0) * ((2.0 * x2) + -3.0))));
                                            	} else {
                                            		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                            	}
                                            	return tmp;
                                            }
                                            
                                            real(8) function code(x1, x2)
                                                real(8), intent (in) :: x1
                                                real(8), intent (in) :: x2
                                                real(8) :: tmp
                                                if (x1 <= (-4.8d+15)) then
                                                    tmp = ((x1 * x1) * (x1 * x1)) * (6.0d0 - (((x2 * (-8.0d0)) / x1) / x1))
                                                else if (x1 <= 16000.0d0) then
                                                    tmp = (x2 * (-6.0d0)) + (x1 * ((-1.0d0) + ((x2 * 4.0d0) * ((2.0d0 * x2) + (-3.0d0)))))
                                                else
                                                    tmp = (x1 * x1) * ((x1 * ((-3.0d0) + (x1 * 6.0d0))) + ((-3.0d0) + (x2 * 8.0d0)))
                                                end if
                                                code = tmp
                                            end function
                                            
                                            public static double code(double x1, double x2) {
                                            	double tmp;
                                            	if (x1 <= -4.8e+15) {
                                            		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                            	} else if (x1 <= 16000.0) {
                                            		tmp = (x2 * -6.0) + (x1 * (-1.0 + ((x2 * 4.0) * ((2.0 * x2) + -3.0))));
                                            	} else {
                                            		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                            	}
                                            	return tmp;
                                            }
                                            
                                            def code(x1, x2):
                                            	tmp = 0
                                            	if x1 <= -4.8e+15:
                                            		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1))
                                            	elif x1 <= 16000.0:
                                            		tmp = (x2 * -6.0) + (x1 * (-1.0 + ((x2 * 4.0) * ((2.0 * x2) + -3.0))))
                                            	else:
                                            		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)))
                                            	return tmp
                                            
                                            function code(x1, x2)
                                            	tmp = 0.0
                                            	if (x1 <= -4.8e+15)
                                            		tmp = Float64(Float64(Float64(x1 * x1) * Float64(x1 * x1)) * Float64(6.0 - Float64(Float64(Float64(x2 * -8.0) / x1) / x1)));
                                            	elseif (x1 <= 16000.0)
                                            		tmp = Float64(Float64(x2 * -6.0) + Float64(x1 * Float64(-1.0 + Float64(Float64(x2 * 4.0) * Float64(Float64(2.0 * x2) + -3.0)))));
                                            	else
                                            		tmp = Float64(Float64(x1 * x1) * Float64(Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))) + Float64(-3.0 + Float64(x2 * 8.0))));
                                            	end
                                            	return tmp
                                            end
                                            
                                            function tmp_2 = code(x1, x2)
                                            	tmp = 0.0;
                                            	if (x1 <= -4.8e+15)
                                            		tmp = ((x1 * x1) * (x1 * x1)) * (6.0 - (((x2 * -8.0) / x1) / x1));
                                            	elseif (x1 <= 16000.0)
                                            		tmp = (x2 * -6.0) + (x1 * (-1.0 + ((x2 * 4.0) * ((2.0 * x2) + -3.0))));
                                            	else
                                            		tmp = (x1 * x1) * ((x1 * (-3.0 + (x1 * 6.0))) + (-3.0 + (x2 * 8.0)));
                                            	end
                                            	tmp_2 = tmp;
                                            end
                                            
                                            code[x1_, x2_] := If[LessEqual[x1, -4.8e+15], N[(N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * x1), $MachinePrecision]), $MachinePrecision] * N[(6.0 - N[(N[(N[(x2 * -8.0), $MachinePrecision] / x1), $MachinePrecision] / x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 16000.0], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x1 * N[(-1.0 + N[(N[(x2 * 4.0), $MachinePrecision] * N[(N[(2.0 * x2), $MachinePrecision] + -3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(-3.0 + N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
                                            
                                            \begin{array}{l}
                                            
                                            \\
                                            \begin{array}{l}
                                            \mathbf{if}\;x1 \leq -4.8 \cdot 10^{+15}:\\
                                            \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\
                                            
                                            \mathbf{elif}\;x1 \leq 16000:\\
                                            \;\;\;\;x2 \cdot -6 + x1 \cdot \left(-1 + \left(x2 \cdot 4\right) \cdot \left(2 \cdot x2 + -3\right)\right)\\
                                            
                                            \mathbf{else}:\\
                                            \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\
                                            
                                            
                                            \end{array}
                                            \end{array}
                                            
                                            Derivation
                                            1. Split input into 3 regimes
                                            2. if x1 < -4.8e15

                                              1. Initial program 27.1%

                                                \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                              2. Simplified27.1%

                                                \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                              3. Add Preprocessing
                                              4. Taylor expanded in x1 around inf

                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                              5. Step-by-step derivation
                                                1. Simplified27.1%

                                                  \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                2. Taylor expanded in x1 around -inf

                                                  \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                                3. Step-by-step derivation
                                                  1. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                                  2. metadata-evalN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  3. pow-sqrN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  4. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  5. unpow2N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  6. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  7. unpow2N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  8. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                  9. mul-1-negN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                                  10. unsub-negN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                                  11. --lowering--.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                                  12. /-lowering-/.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                                4. Simplified94.9%

                                                  \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                                5. Taylor expanded in x2 around inf

                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(-8 \cdot \frac{x2}{{x1}^{2}}\right)}\right)\right) \]
                                                6. Step-by-step derivation
                                                  1. associate-*r/N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{-8 \cdot x2}{\color{blue}{{x1}^{2}}}\right)\right)\right) \]
                                                  2. metadata-evalN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\left(\mathsf{neg}\left(8\right)\right) \cdot x2}{{x1}^{2}}\right)\right)\right) \]
                                                  3. distribute-lft-neg-inN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{{\color{blue}{x1}}^{2}}\right)\right)\right) \]
                                                  4. unpow2N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1 \cdot \color{blue}{x1}}\right)\right)\right) \]
                                                  5. associate-/r*N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}}{\color{blue}{x1}}\right)\right)\right) \]
                                                  6. distribute-neg-fracN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)}{x1}\right)\right)\right) \]
                                                  7. associate-*r/N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \left(\frac{\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)}{x1}\right)\right)\right) \]
                                                  8. /-lowering-/.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot \frac{x2}{x1}\right)\right), \color{blue}{x1}\right)\right)\right) \]
                                                  9. associate-*r/N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{8 \cdot x2}{x1}\right)\right), x1\right)\right)\right) \]
                                                  10. distribute-neg-fracN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(\frac{\mathsf{neg}\left(8 \cdot x2\right)}{x1}\right), x1\right)\right)\right) \]
                                                  11. /-lowering-/.f64N/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(8 \cdot x2\right)\right), x1\right), x1\right)\right)\right) \]
                                                  12. *-commutativeN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(\mathsf{neg}\left(x2 \cdot 8\right)\right), x1\right), x1\right)\right)\right) \]
                                                  13. distribute-rgt-neg-inN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot \left(\mathsf{neg}\left(8\right)\right)\right), x1\right), x1\right)\right)\right) \]
                                                  14. metadata-evalN/A

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(x2 \cdot -8\right), x1\right), x1\right)\right)\right) \]
                                                  15. *-lowering-*.f6494.9%

                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(x2, -8\right), x1\right), x1\right)\right)\right) \]
                                                7. Simplified94.9%

                                                  \[\leadsto \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \color{blue}{\frac{\frac{x2 \cdot -8}{x1}}{x1}}\right) \]

                                                if -4.8e15 < x1 < 16000

                                                1. Initial program 99.4%

                                                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                2. Add Preprocessing
                                                3. Taylor expanded in x1 around 0

                                                  \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right) - 1\right)} \]
                                                4. Step-by-step derivation
                                                  1. +-lowering-+.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\left(-6 \cdot x2\right), \color{blue}{\left(x1 \cdot \left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right) - 1\right)\right)}\right) \]
                                                  2. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(\color{blue}{x1} \cdot \left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right) - 1\right)\right)\right) \]
                                                  3. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right) - 1\right)}\right)\right) \]
                                                  4. sub-negN/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right) + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right) \]
                                                  5. metadata-evalN/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right) + -1\right)\right)\right) \]
                                                  6. +-lowering-+.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(4 \cdot \left(x2 \cdot \left(2 \cdot x2 - 3\right)\right)\right), \color{blue}{-1}\right)\right)\right) \]
                                                  7. associate-*r*N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(\left(4 \cdot x2\right) \cdot \left(2 \cdot x2 - 3\right)\right), -1\right)\right)\right) \]
                                                  8. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\left(4 \cdot x2\right), \left(2 \cdot x2 - 3\right)\right), -1\right)\right)\right) \]
                                                  9. *-commutativeN/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\left(x2 \cdot 4\right), \left(2 \cdot x2 - 3\right)\right), -1\right)\right)\right) \]
                                                  10. *-lowering-*.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 4\right), \left(2 \cdot x2 - 3\right)\right), -1\right)\right)\right) \]
                                                  11. sub-negN/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 4\right), \left(2 \cdot x2 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), -1\right)\right)\right) \]
                                                  12. metadata-evalN/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 4\right), \left(2 \cdot x2 + -3\right)\right), -1\right)\right)\right) \]
                                                  13. +-lowering-+.f64N/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 4\right), \mathsf{+.f64}\left(\left(2 \cdot x2\right), -3\right)\right), -1\right)\right)\right) \]
                                                  14. *-commutativeN/A

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 4\right), \mathsf{+.f64}\left(\left(x2 \cdot 2\right), -3\right)\right), -1\right)\right)\right) \]
                                                  15. *-lowering-*.f6487.1%

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 4\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 2\right), -3\right)\right), -1\right)\right)\right) \]
                                                5. Simplified87.1%

                                                  \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 4\right) \cdot \left(x2 \cdot 2 + -3\right) + -1\right)} \]

                                                if 16000 < x1

                                                1. Initial program 48.9%

                                                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                2. Simplified49.0%

                                                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                3. Add Preprocessing
                                                4. Taylor expanded in x1 around inf

                                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                5. Step-by-step derivation
                                                  1. Simplified49.0%

                                                    \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                  2. Taylor expanded in x1 around -inf

                                                    \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)} \]
                                                  3. Step-by-step derivation
                                                    1. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right) \]
                                                    2. metadata-evalN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    3. pow-sqrN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    4. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    5. unpow2N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    6. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    7. unpow2N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    8. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + -1 \cdot \frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right) \]
                                                    9. mul-1-negN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \left(\mathsf{neg}\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)\right)\right)\right) \]
                                                    10. unsub-negN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - \color{blue}{\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}}\right)\right) \]
                                                    11. --lowering--.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \color{blue}{\left(\frac{3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}}{x1}\right)}\right)\right) \]
                                                    12. /-lowering-/.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{\_.f64}\left(6, \mathsf{/.f64}\left(\left(3 + -1 \cdot \frac{8 \cdot x2 - 3}{x1}\right), \color{blue}{x1}\right)\right)\right) \]
                                                  4. Simplified90.8%

                                                    \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{3 - \frac{x2 \cdot 8 + -3}{x1}}{x1}\right)} \]
                                                  5. Taylor expanded in x1 around 0

                                                    \[\leadsto \color{blue}{{x1}^{2} \cdot \left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)} \]
                                                  6. Step-by-step derivation
                                                    1. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right) - 3\right)}\right) \]
                                                    2. unpow2N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                                    3. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{\left(8 \cdot x2 + x1 \cdot \left(6 \cdot x1 - 3\right)\right)} - 3\right)\right) \]
                                                    4. +-commutativeN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot \left(6 \cdot x1 - 3\right) + 8 \cdot x2\right) - 3\right)\right) \]
                                                    5. associate--l+N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot x1 - 3\right) + \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                                    6. +-lowering-+.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right), \color{blue}{\left(8 \cdot x2 - 3\right)}\right)\right) \]
                                                    7. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 - 3\right)\right), \left(\color{blue}{8 \cdot x2} - 3\right)\right)\right) \]
                                                    8. sub-negN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \left(\mathsf{neg}\left(3\right)\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                                    9. metadata-evalN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                                    10. +-commutativeN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \left(-3 + 6 \cdot x1\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                                    11. +-lowering-+.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(6 \cdot x1\right)\right)\right), \left(8 \cdot \color{blue}{x2} - 3\right)\right)\right) \]
                                                    12. *-commutativeN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                                    13. *-lowering-*.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 - 3\right)\right)\right) \]
                                                    14. sub-negN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                    15. metadata-evalN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \left(8 \cdot x2 + -3\right)\right)\right) \]
                                                    16. +-lowering-+.f64N/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(8 \cdot x2\right), \color{blue}{-3}\right)\right)\right) \]
                                                    17. *-commutativeN/A

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\left(x2 \cdot 8\right), -3\right)\right)\right) \]
                                                    18. *-lowering-*.f6491.0%

                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, 6\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 8\right), -3\right)\right)\right) \]
                                                  7. Simplified91.0%

                                                    \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(x2 \cdot 8 + -3\right)\right)} \]
                                                6. Recombined 3 regimes into one program.
                                                7. Final simplification90.3%

                                                  \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -4.8 \cdot 10^{+15}:\\ \;\;\;\;\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 - \frac{\frac{x2 \cdot -8}{x1}}{x1}\right)\\ \mathbf{elif}\;x1 \leq 16000:\\ \;\;\;\;x2 \cdot -6 + x1 \cdot \left(-1 + \left(x2 \cdot 4\right) \cdot \left(2 \cdot x2 + -3\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right) + \left(-3 + x2 \cdot 8\right)\right)\\ \end{array} \]
                                                8. Add Preprocessing

                                                Alternative 16: 81.5% accurate, 4.9× speedup?

                                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -4.1 \cdot 10^{+14}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq 5.5 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \end{array} \]
                                                (FPCore (x1 x2)
                                                 :precision binary64
                                                 (if (<= x1 -4.1e+14)
                                                   (* 6.0 (* x1 (* x1 (* x1 x1))))
                                                   (if (<= x1 5.5e-279)
                                                     (+ (* x2 -6.0) (* x2 (* x1 (* x2 8.0))))
                                                     (if (<= x1 0.07)
                                                       (+ (* x1 (+ -1.0 (* x1 9.0))) (* x2 -6.0))
                                                       (* (* x1 x1) (* x1 (+ -3.0 (* x1 6.0))))))))
                                                double code(double x1, double x2) {
                                                	double tmp;
                                                	if (x1 <= -4.1e+14) {
                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                	} else if (x1 <= 5.5e-279) {
                                                		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                                                	} else if (x1 <= 0.07) {
                                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                                                	} else {
                                                		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                	}
                                                	return tmp;
                                                }
                                                
                                                real(8) function code(x1, x2)
                                                    real(8), intent (in) :: x1
                                                    real(8), intent (in) :: x2
                                                    real(8) :: tmp
                                                    if (x1 <= (-4.1d+14)) then
                                                        tmp = 6.0d0 * (x1 * (x1 * (x1 * x1)))
                                                    else if (x1 <= 5.5d-279) then
                                                        tmp = (x2 * (-6.0d0)) + (x2 * (x1 * (x2 * 8.0d0)))
                                                    else if (x1 <= 0.07d0) then
                                                        tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * (-6.0d0))
                                                    else
                                                        tmp = (x1 * x1) * (x1 * ((-3.0d0) + (x1 * 6.0d0)))
                                                    end if
                                                    code = tmp
                                                end function
                                                
                                                public static double code(double x1, double x2) {
                                                	double tmp;
                                                	if (x1 <= -4.1e+14) {
                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                	} else if (x1 <= 5.5e-279) {
                                                		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                                                	} else if (x1 <= 0.07) {
                                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                                                	} else {
                                                		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                	}
                                                	return tmp;
                                                }
                                                
                                                def code(x1, x2):
                                                	tmp = 0
                                                	if x1 <= -4.1e+14:
                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)))
                                                	elif x1 <= 5.5e-279:
                                                		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)))
                                                	elif x1 <= 0.07:
                                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0)
                                                	else:
                                                		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)))
                                                	return tmp
                                                
                                                function code(x1, x2)
                                                	tmp = 0.0
                                                	if (x1 <= -4.1e+14)
                                                		tmp = Float64(6.0 * Float64(x1 * Float64(x1 * Float64(x1 * x1))));
                                                	elseif (x1 <= 5.5e-279)
                                                		tmp = Float64(Float64(x2 * -6.0) + Float64(x2 * Float64(x1 * Float64(x2 * 8.0))));
                                                	elseif (x1 <= 0.07)
                                                		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * -6.0));
                                                	else
                                                		tmp = Float64(Float64(x1 * x1) * Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))));
                                                	end
                                                	return tmp
                                                end
                                                
                                                function tmp_2 = code(x1, x2)
                                                	tmp = 0.0;
                                                	if (x1 <= -4.1e+14)
                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                	elseif (x1 <= 5.5e-279)
                                                		tmp = (x2 * -6.0) + (x2 * (x1 * (x2 * 8.0)));
                                                	elseif (x1 <= 0.07)
                                                		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                                                	else
                                                		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                	end
                                                	tmp_2 = tmp;
                                                end
                                                
                                                code[x1_, x2_] := If[LessEqual[x1, -4.1e+14], N[(6.0 * N[(x1 * N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 5.5e-279], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * -6.0), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
                                                
                                                \begin{array}{l}
                                                
                                                \\
                                                \begin{array}{l}
                                                \mathbf{if}\;x1 \leq -4.1 \cdot 10^{+14}:\\
                                                \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\
                                                
                                                \mathbf{elif}\;x1 \leq 5.5 \cdot 10^{-279}:\\
                                                \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                                                
                                                \mathbf{elif}\;x1 \leq 0.07:\\
                                                \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\
                                                
                                                \mathbf{else}:\\
                                                \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\
                                                
                                                
                                                \end{array}
                                                \end{array}
                                                
                                                Derivation
                                                1. Split input into 4 regimes
                                                2. if x1 < -4.1e14

                                                  1. Initial program 27.1%

                                                    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                  2. Simplified27.1%

                                                    \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                  3. Add Preprocessing
                                                  4. Taylor expanded in x1 around inf

                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                  5. Step-by-step derivation
                                                    1. Simplified27.1%

                                                      \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                    2. Taylor expanded in x1 around inf

                                                      \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                    3. Step-by-step derivation
                                                      1. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                      2. metadata-evalN/A

                                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      3. pow-sqrN/A

                                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      4. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      5. unpow2N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      6. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      7. unpow2N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      8. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                      9. sub-negN/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                      10. +-lowering-+.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                      11. associate-*r/N/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                      12. metadata-evalN/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                      13. distribute-neg-fracN/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                      14. metadata-evalN/A

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                      15. /-lowering-/.f6492.1%

                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                    4. Simplified92.1%

                                                      \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                    5. Taylor expanded in x1 around inf

                                                      \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
                                                    6. Step-by-step derivation
                                                      1. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                                                      2. metadata-evalN/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                                                      3. pow-sqrN/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                                                      4. unpow2N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                                                      5. associate-*l*N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                                                      6. unpow2N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                      7. cube-multN/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                                                      8. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                                                      9. cube-multN/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                                                      10. unpow2N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                                                      11. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                      12. unpow2N/A

                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                      13. *-lowering-*.f6492.1%

                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                    7. Simplified92.1%

                                                      \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]

                                                    if -4.1e14 < x1 < 5.5000000000000002e-279

                                                    1. Initial program 99.5%

                                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                    2. Simplified99.5%

                                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                    3. Add Preprocessing
                                                    4. Taylor expanded in x1 around 0

                                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                    5. Simplified83.4%

                                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                    6. Taylor expanded in x2 around 0

                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                                    7. Step-by-step derivation
                                                      1. sub-negN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                                      2. metadata-evalN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                                      3. +-lowering-+.f64N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                                      4. *-commutativeN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                                      5. *-lowering-*.f6483.4%

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                                    8. Simplified83.4%

                                                      \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                                    9. Taylor expanded in x2 around inf

                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(8 \cdot \left(x1 \cdot {x2}^{2}\right)\right)}\right) \]
                                                    10. Step-by-step derivation
                                                      1. unpow2N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                                      2. associate-*r*N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right)\right)\right) \]
                                                      3. associate-*l*N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(\left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2}\right)\right) \]
                                                      4. *-commutativeN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \left(x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                                                      5. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right)\right) \]
                                                      6. *-commutativeN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right)\right) \]
                                                      7. associate-*l*N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right)\right) \]
                                                      8. *-commutativeN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                                      9. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right)\right) \]
                                                      10. *-commutativeN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right)\right) \]
                                                      11. *-lowering-*.f6481.4%

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right)\right) \]
                                                    11. Simplified81.4%

                                                      \[\leadsto -6 \cdot x2 + \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                                                    if 5.5000000000000002e-279 < x1 < 0.070000000000000007

                                                    1. Initial program 99.3%

                                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                    2. Simplified99.4%

                                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                    3. Add Preprocessing
                                                    4. Taylor expanded in x1 around 0

                                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                    5. Simplified95.7%

                                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                    6. Taylor expanded in x2 around 0

                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right)}\right) \]
                                                    7. Step-by-step derivation
                                                      1. *-lowering-*.f64N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right) \]
                                                      2. sub-negN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right) \]
                                                      3. metadata-evalN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right)\right) \]
                                                      4. +-lowering-+.f64N/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right) \]
                                                      5. *-commutativeN/A

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right) \]
                                                      6. *-lowering-*.f6482.8%

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right) \]
                                                    8. Simplified82.8%

                                                      \[\leadsto -6 \cdot x2 + \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right)} \]

                                                    if 0.070000000000000007 < x1

                                                    1. Initial program 50.6%

                                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                    2. Simplified50.7%

                                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                    3. Add Preprocessing
                                                    4. Taylor expanded in x1 around inf

                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                    5. Step-by-step derivation
                                                      1. Simplified50.7%

                                                        \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                      2. Taylor expanded in x1 around inf

                                                        \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                      3. Step-by-step derivation
                                                        1. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                        2. metadata-evalN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        3. pow-sqrN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        4. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        5. unpow2N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        6. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        7. unpow2N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        8. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                        9. sub-negN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                        10. +-lowering-+.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                        11. associate-*r/N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                        12. metadata-evalN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                        13. distribute-neg-fracN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                        14. metadata-evalN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                        15. /-lowering-/.f6482.2%

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                      4. Simplified82.2%

                                                        \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                      5. Taylor expanded in x1 around 0

                                                        \[\leadsto \color{blue}{{x1}^{3} \cdot \left(6 \cdot x1 - 3\right)} \]
                                                      6. Step-by-step derivation
                                                        1. unpow3N/A

                                                          \[\leadsto \left(\left(x1 \cdot x1\right) \cdot x1\right) \cdot \left(\color{blue}{6 \cdot x1} - 3\right) \]
                                                        2. unpow2N/A

                                                          \[\leadsto \left({x1}^{2} \cdot x1\right) \cdot \left(\color{blue}{6} \cdot x1 - 3\right) \]
                                                        3. associate-*l*N/A

                                                          \[\leadsto {x1}^{2} \cdot \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)} \]
                                                        4. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)}\right) \]
                                                        5. unpow2N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                        6. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                        7. *-lowering-*.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(6 \cdot x1 - 3\right)}\right)\right) \]
                                                        8. sub-negN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                        9. metadata-evalN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right)\right) \]
                                                        10. +-commutativeN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(-3 + \color{blue}{6 \cdot x1}\right)\right)\right) \]
                                                        11. +-lowering-+.f64N/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \color{blue}{\left(6 \cdot x1\right)}\right)\right)\right) \]
                                                        12. *-commutativeN/A

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot \color{blue}{6}\right)\right)\right)\right) \]
                                                        13. *-lowering-*.f6482.4%

                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, \color{blue}{6}\right)\right)\right)\right) \]
                                                      7. Simplified82.4%

                                                        \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)} \]
                                                    6. Recombined 4 regimes into one program.
                                                    7. Final simplification85.1%

                                                      \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -4.1 \cdot 10^{+14}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq 5.5 \cdot 10^{-279}:\\ \;\;\;\;x2 \cdot -6 + x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \]
                                                    8. Add Preprocessing

                                                    Alternative 17: 81.1% accurate, 4.9× speedup?

                                                    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -3.5 \cdot 10^{+15}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq -9.4 \cdot 10^{-101}:\\ \;\;\;\;x2 \cdot -6 + x1 \cdot \left(8 \cdot \left(x2 \cdot x2\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \end{array} \]
                                                    (FPCore (x1 x2)
                                                     :precision binary64
                                                     (if (<= x1 -3.5e+15)
                                                       (* 6.0 (* x1 (* x1 (* x1 x1))))
                                                       (if (<= x1 -9.4e-101)
                                                         (+ (* x2 -6.0) (* x1 (* 8.0 (* x2 x2))))
                                                         (if (<= x1 0.07)
                                                           (+ (* x1 (+ -1.0 (* x1 9.0))) (* x2 -6.0))
                                                           (* (* x1 x1) (* x1 (+ -3.0 (* x1 6.0))))))))
                                                    double code(double x1, double x2) {
                                                    	double tmp;
                                                    	if (x1 <= -3.5e+15) {
                                                    		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                    	} else if (x1 <= -9.4e-101) {
                                                    		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)));
                                                    	} else if (x1 <= 0.07) {
                                                    		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                                                    	} else {
                                                    		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                    	}
                                                    	return tmp;
                                                    }
                                                    
                                                    real(8) function code(x1, x2)
                                                        real(8), intent (in) :: x1
                                                        real(8), intent (in) :: x2
                                                        real(8) :: tmp
                                                        if (x1 <= (-3.5d+15)) then
                                                            tmp = 6.0d0 * (x1 * (x1 * (x1 * x1)))
                                                        else if (x1 <= (-9.4d-101)) then
                                                            tmp = (x2 * (-6.0d0)) + (x1 * (8.0d0 * (x2 * x2)))
                                                        else if (x1 <= 0.07d0) then
                                                            tmp = (x1 * ((-1.0d0) + (x1 * 9.0d0))) + (x2 * (-6.0d0))
                                                        else
                                                            tmp = (x1 * x1) * (x1 * ((-3.0d0) + (x1 * 6.0d0)))
                                                        end if
                                                        code = tmp
                                                    end function
                                                    
                                                    public static double code(double x1, double x2) {
                                                    	double tmp;
                                                    	if (x1 <= -3.5e+15) {
                                                    		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                    	} else if (x1 <= -9.4e-101) {
                                                    		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)));
                                                    	} else if (x1 <= 0.07) {
                                                    		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                                                    	} else {
                                                    		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                    	}
                                                    	return tmp;
                                                    }
                                                    
                                                    def code(x1, x2):
                                                    	tmp = 0
                                                    	if x1 <= -3.5e+15:
                                                    		tmp = 6.0 * (x1 * (x1 * (x1 * x1)))
                                                    	elif x1 <= -9.4e-101:
                                                    		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)))
                                                    	elif x1 <= 0.07:
                                                    		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0)
                                                    	else:
                                                    		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)))
                                                    	return tmp
                                                    
                                                    function code(x1, x2)
                                                    	tmp = 0.0
                                                    	if (x1 <= -3.5e+15)
                                                    		tmp = Float64(6.0 * Float64(x1 * Float64(x1 * Float64(x1 * x1))));
                                                    	elseif (x1 <= -9.4e-101)
                                                    		tmp = Float64(Float64(x2 * -6.0) + Float64(x1 * Float64(8.0 * Float64(x2 * x2))));
                                                    	elseif (x1 <= 0.07)
                                                    		tmp = Float64(Float64(x1 * Float64(-1.0 + Float64(x1 * 9.0))) + Float64(x2 * -6.0));
                                                    	else
                                                    		tmp = Float64(Float64(x1 * x1) * Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))));
                                                    	end
                                                    	return tmp
                                                    end
                                                    
                                                    function tmp_2 = code(x1, x2)
                                                    	tmp = 0.0;
                                                    	if (x1 <= -3.5e+15)
                                                    		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                    	elseif (x1 <= -9.4e-101)
                                                    		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)));
                                                    	elseif (x1 <= 0.07)
                                                    		tmp = (x1 * (-1.0 + (x1 * 9.0))) + (x2 * -6.0);
                                                    	else
                                                    		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                    	end
                                                    	tmp_2 = tmp;
                                                    end
                                                    
                                                    code[x1_, x2_] := If[LessEqual[x1, -3.5e+15], N[(6.0 * N[(x1 * N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -9.4e-101], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x1 * N[(8.0 * N[(x2 * x2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x1 * N[(-1.0 + N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x2 * -6.0), $MachinePrecision]), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
                                                    
                                                    \begin{array}{l}
                                                    
                                                    \\
                                                    \begin{array}{l}
                                                    \mathbf{if}\;x1 \leq -3.5 \cdot 10^{+15}:\\
                                                    \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\
                                                    
                                                    \mathbf{elif}\;x1 \leq -9.4 \cdot 10^{-101}:\\
                                                    \;\;\;\;x2 \cdot -6 + x1 \cdot \left(8 \cdot \left(x2 \cdot x2\right)\right)\\
                                                    
                                                    \mathbf{elif}\;x1 \leq 0.07:\\
                                                    \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\
                                                    
                                                    \mathbf{else}:\\
                                                    \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\
                                                    
                                                    
                                                    \end{array}
                                                    \end{array}
                                                    
                                                    Derivation
                                                    1. Split input into 4 regimes
                                                    2. if x1 < -3.5e15

                                                      1. Initial program 27.1%

                                                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                      2. Simplified27.1%

                                                        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                      3. Add Preprocessing
                                                      4. Taylor expanded in x1 around inf

                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                      5. Step-by-step derivation
                                                        1. Simplified27.1%

                                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                        2. Taylor expanded in x1 around inf

                                                          \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                        3. Step-by-step derivation
                                                          1. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                          2. metadata-evalN/A

                                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          3. pow-sqrN/A

                                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          4. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          5. unpow2N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          6. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          7. unpow2N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          8. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                          9. sub-negN/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                          10. +-lowering-+.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                          11. associate-*r/N/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                          12. metadata-evalN/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                          13. distribute-neg-fracN/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                          14. metadata-evalN/A

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                          15. /-lowering-/.f6492.1%

                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                        4. Simplified92.1%

                                                          \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                        5. Taylor expanded in x1 around inf

                                                          \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
                                                        6. Step-by-step derivation
                                                          1. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                                                          2. metadata-evalN/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                                                          3. pow-sqrN/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                                                          4. unpow2N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                                                          5. associate-*l*N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                                                          6. unpow2N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                          7. cube-multN/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                                                          8. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                                                          9. cube-multN/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                                                          10. unpow2N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                                                          11. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                          12. unpow2N/A

                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                          13. *-lowering-*.f6492.1%

                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                        7. Simplified92.1%

                                                          \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]

                                                        if -3.5e15 < x1 < -9.3999999999999999e-101

                                                        1. Initial program 99.5%

                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                        2. Simplified99.5%

                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                        3. Add Preprocessing
                                                        4. Taylor expanded in x1 around 0

                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                        5. Simplified91.2%

                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                        6. Taylor expanded in x2 around inf

                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot {x2}^{2}\right)}\right)\right) \]
                                                        7. Step-by-step derivation
                                                          1. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(8, \color{blue}{\left({x2}^{2}\right)}\right)\right)\right) \]
                                                          2. unpow2N/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(8, \left(x2 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                                          3. *-lowering-*.f6465.4%

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x2, \color{blue}{x2}\right)\right)\right)\right) \]
                                                        8. Simplified65.4%

                                                          \[\leadsto -6 \cdot x2 + x1 \cdot \color{blue}{\left(8 \cdot \left(x2 \cdot x2\right)\right)} \]

                                                        if -9.3999999999999999e-101 < x1 < 0.070000000000000007

                                                        1. Initial program 99.4%

                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                        2. Simplified99.5%

                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                        3. Add Preprocessing
                                                        4. Taylor expanded in x1 around 0

                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                        5. Simplified87.4%

                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                        6. Taylor expanded in x2 around 0

                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \color{blue}{\left(x1 \cdot \left(9 \cdot x1 - 1\right)\right)}\right) \]
                                                        7. Step-by-step derivation
                                                          1. *-lowering-*.f64N/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right) \]
                                                          2. sub-negN/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right) \]
                                                          3. metadata-evalN/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \left(9 \cdot x1 + -1\right)\right)\right) \]
                                                          4. +-lowering-+.f64N/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right) \]
                                                          5. *-commutativeN/A

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right) \]
                                                          6. *-lowering-*.f6482.7%

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right) \]
                                                        8. Simplified82.7%

                                                          \[\leadsto -6 \cdot x2 + \color{blue}{x1 \cdot \left(x1 \cdot 9 + -1\right)} \]

                                                        if 0.070000000000000007 < x1

                                                        1. Initial program 50.6%

                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                        2. Simplified50.7%

                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                        3. Add Preprocessing
                                                        4. Taylor expanded in x1 around inf

                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                        5. Step-by-step derivation
                                                          1. Simplified50.7%

                                                            \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                          2. Taylor expanded in x1 around inf

                                                            \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                          3. Step-by-step derivation
                                                            1. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                            2. metadata-evalN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            3. pow-sqrN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            4. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            5. unpow2N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            6. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            7. unpow2N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            8. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                            9. sub-negN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                            10. +-lowering-+.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                            11. associate-*r/N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                            12. metadata-evalN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                            13. distribute-neg-fracN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                            14. metadata-evalN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                            15. /-lowering-/.f6482.2%

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                          4. Simplified82.2%

                                                            \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                          5. Taylor expanded in x1 around 0

                                                            \[\leadsto \color{blue}{{x1}^{3} \cdot \left(6 \cdot x1 - 3\right)} \]
                                                          6. Step-by-step derivation
                                                            1. unpow3N/A

                                                              \[\leadsto \left(\left(x1 \cdot x1\right) \cdot x1\right) \cdot \left(\color{blue}{6 \cdot x1} - 3\right) \]
                                                            2. unpow2N/A

                                                              \[\leadsto \left({x1}^{2} \cdot x1\right) \cdot \left(\color{blue}{6} \cdot x1 - 3\right) \]
                                                            3. associate-*l*N/A

                                                              \[\leadsto {x1}^{2} \cdot \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)} \]
                                                            4. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)}\right) \]
                                                            5. unpow2N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                            6. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                            7. *-lowering-*.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(6 \cdot x1 - 3\right)}\right)\right) \]
                                                            8. sub-negN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                            9. metadata-evalN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right)\right) \]
                                                            10. +-commutativeN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(-3 + \color{blue}{6 \cdot x1}\right)\right)\right) \]
                                                            11. +-lowering-+.f64N/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \color{blue}{\left(6 \cdot x1\right)}\right)\right)\right) \]
                                                            12. *-commutativeN/A

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot \color{blue}{6}\right)\right)\right)\right) \]
                                                            13. *-lowering-*.f6482.4%

                                                              \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, \color{blue}{6}\right)\right)\right)\right) \]
                                                          7. Simplified82.4%

                                                            \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)} \]
                                                        6. Recombined 4 regimes into one program.
                                                        7. Final simplification84.0%

                                                          \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -3.5 \cdot 10^{+15}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq -9.4 \cdot 10^{-101}:\\ \;\;\;\;x2 \cdot -6 + x1 \cdot \left(8 \cdot \left(x2 \cdot x2\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x1 \cdot \left(-1 + x1 \cdot 9\right) + x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \]
                                                        8. Add Preprocessing

                                                        Alternative 18: 80.9% accurate, 4.9× speedup?

                                                        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -3.55 \cdot 10^{+15}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq -2.2 \cdot 10^{-102}:\\ \;\;\;\;x2 \cdot -6 + x1 \cdot \left(8 \cdot \left(x2 \cdot x2\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \end{array} \]
                                                        (FPCore (x1 x2)
                                                         :precision binary64
                                                         (if (<= x1 -3.55e+15)
                                                           (* 6.0 (* x1 (* x1 (* x1 x1))))
                                                           (if (<= x1 -2.2e-102)
                                                             (+ (* x2 -6.0) (* x1 (* 8.0 (* x2 x2))))
                                                             (if (<= x1 0.07)
                                                               (- (* x2 -6.0) x1)
                                                               (* (* x1 x1) (* x1 (+ -3.0 (* x1 6.0))))))))
                                                        double code(double x1, double x2) {
                                                        	double tmp;
                                                        	if (x1 <= -3.55e+15) {
                                                        		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                        	} else if (x1 <= -2.2e-102) {
                                                        		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)));
                                                        	} else if (x1 <= 0.07) {
                                                        		tmp = (x2 * -6.0) - x1;
                                                        	} else {
                                                        		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                        	}
                                                        	return tmp;
                                                        }
                                                        
                                                        real(8) function code(x1, x2)
                                                            real(8), intent (in) :: x1
                                                            real(8), intent (in) :: x2
                                                            real(8) :: tmp
                                                            if (x1 <= (-3.55d+15)) then
                                                                tmp = 6.0d0 * (x1 * (x1 * (x1 * x1)))
                                                            else if (x1 <= (-2.2d-102)) then
                                                                tmp = (x2 * (-6.0d0)) + (x1 * (8.0d0 * (x2 * x2)))
                                                            else if (x1 <= 0.07d0) then
                                                                tmp = (x2 * (-6.0d0)) - x1
                                                            else
                                                                tmp = (x1 * x1) * (x1 * ((-3.0d0) + (x1 * 6.0d0)))
                                                            end if
                                                            code = tmp
                                                        end function
                                                        
                                                        public static double code(double x1, double x2) {
                                                        	double tmp;
                                                        	if (x1 <= -3.55e+15) {
                                                        		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                        	} else if (x1 <= -2.2e-102) {
                                                        		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)));
                                                        	} else if (x1 <= 0.07) {
                                                        		tmp = (x2 * -6.0) - x1;
                                                        	} else {
                                                        		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                        	}
                                                        	return tmp;
                                                        }
                                                        
                                                        def code(x1, x2):
                                                        	tmp = 0
                                                        	if x1 <= -3.55e+15:
                                                        		tmp = 6.0 * (x1 * (x1 * (x1 * x1)))
                                                        	elif x1 <= -2.2e-102:
                                                        		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)))
                                                        	elif x1 <= 0.07:
                                                        		tmp = (x2 * -6.0) - x1
                                                        	else:
                                                        		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)))
                                                        	return tmp
                                                        
                                                        function code(x1, x2)
                                                        	tmp = 0.0
                                                        	if (x1 <= -3.55e+15)
                                                        		tmp = Float64(6.0 * Float64(x1 * Float64(x1 * Float64(x1 * x1))));
                                                        	elseif (x1 <= -2.2e-102)
                                                        		tmp = Float64(Float64(x2 * -6.0) + Float64(x1 * Float64(8.0 * Float64(x2 * x2))));
                                                        	elseif (x1 <= 0.07)
                                                        		tmp = Float64(Float64(x2 * -6.0) - x1);
                                                        	else
                                                        		tmp = Float64(Float64(x1 * x1) * Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))));
                                                        	end
                                                        	return tmp
                                                        end
                                                        
                                                        function tmp_2 = code(x1, x2)
                                                        	tmp = 0.0;
                                                        	if (x1 <= -3.55e+15)
                                                        		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                        	elseif (x1 <= -2.2e-102)
                                                        		tmp = (x2 * -6.0) + (x1 * (8.0 * (x2 * x2)));
                                                        	elseif (x1 <= 0.07)
                                                        		tmp = (x2 * -6.0) - x1;
                                                        	else
                                                        		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                        	end
                                                        	tmp_2 = tmp;
                                                        end
                                                        
                                                        code[x1_, x2_] := If[LessEqual[x1, -3.55e+15], N[(6.0 * N[(x1 * N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -2.2e-102], N[(N[(x2 * -6.0), $MachinePrecision] + N[(x1 * N[(8.0 * N[(x2 * x2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
                                                        
                                                        \begin{array}{l}
                                                        
                                                        \\
                                                        \begin{array}{l}
                                                        \mathbf{if}\;x1 \leq -3.55 \cdot 10^{+15}:\\
                                                        \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\
                                                        
                                                        \mathbf{elif}\;x1 \leq -2.2 \cdot 10^{-102}:\\
                                                        \;\;\;\;x2 \cdot -6 + x1 \cdot \left(8 \cdot \left(x2 \cdot x2\right)\right)\\
                                                        
                                                        \mathbf{elif}\;x1 \leq 0.07:\\
                                                        \;\;\;\;x2 \cdot -6 - x1\\
                                                        
                                                        \mathbf{else}:\\
                                                        \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\
                                                        
                                                        
                                                        \end{array}
                                                        \end{array}
                                                        
                                                        Derivation
                                                        1. Split input into 4 regimes
                                                        2. if x1 < -3.55e15

                                                          1. Initial program 27.1%

                                                            \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                          2. Simplified27.1%

                                                            \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                          3. Add Preprocessing
                                                          4. Taylor expanded in x1 around inf

                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                          5. Step-by-step derivation
                                                            1. Simplified27.1%

                                                              \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                            2. Taylor expanded in x1 around inf

                                                              \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                            3. Step-by-step derivation
                                                              1. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                              2. metadata-evalN/A

                                                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              3. pow-sqrN/A

                                                                \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              4. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              5. unpow2N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              6. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              7. unpow2N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              8. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                              9. sub-negN/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                              10. +-lowering-+.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                              11. associate-*r/N/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                              12. metadata-evalN/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                              13. distribute-neg-fracN/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                              14. metadata-evalN/A

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                              15. /-lowering-/.f6492.1%

                                                                \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                            4. Simplified92.1%

                                                              \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                            5. Taylor expanded in x1 around inf

                                                              \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
                                                            6. Step-by-step derivation
                                                              1. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                                                              2. metadata-evalN/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                                                              3. pow-sqrN/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                                                              4. unpow2N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                                                              5. associate-*l*N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                                                              6. unpow2N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                              7. cube-multN/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                                                              8. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                                                              9. cube-multN/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                                                              10. unpow2N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                                                              11. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                              12. unpow2N/A

                                                                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                              13. *-lowering-*.f6492.1%

                                                                \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                            7. Simplified92.1%

                                                              \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]

                                                            if -3.55e15 < x1 < -2.20000000000000013e-102

                                                            1. Initial program 99.5%

                                                              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                            2. Simplified99.5%

                                                              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                            3. Add Preprocessing
                                                            4. Taylor expanded in x1 around 0

                                                              \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                            5. Simplified91.2%

                                                              \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                            6. Taylor expanded in x2 around inf

                                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot {x2}^{2}\right)}\right)\right) \]
                                                            7. Step-by-step derivation
                                                              1. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(8, \color{blue}{\left({x2}^{2}\right)}\right)\right)\right) \]
                                                              2. unpow2N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(8, \left(x2 \cdot \color{blue}{x2}\right)\right)\right)\right) \]
                                                              3. *-lowering-*.f6465.4%

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x2, \color{blue}{x2}\right)\right)\right)\right) \]
                                                            8. Simplified65.4%

                                                              \[\leadsto -6 \cdot x2 + x1 \cdot \color{blue}{\left(8 \cdot \left(x2 \cdot x2\right)\right)} \]

                                                            if -2.20000000000000013e-102 < x1 < 0.070000000000000007

                                                            1. Initial program 99.4%

                                                              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                            2. Simplified99.5%

                                                              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                            3. Add Preprocessing
                                                            4. Applied egg-rr99.5%

                                                              \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                            5. Taylor expanded in x1 around inf

                                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                            6. Step-by-step derivation
                                                              1. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              2. metadata-evalN/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              3. pow-sqrN/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              4. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              5. unpow2N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              6. *-lowering-*.f64N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              7. unpow2N/A

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                              8. *-lowering-*.f6482.3%

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                            7. Simplified82.3%

                                                              \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                            8. Taylor expanded in x1 around 0

                                                              \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                                            9. Step-by-step derivation
                                                              1. mul-1-negN/A

                                                                \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                                              2. unsub-negN/A

                                                                \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                                              3. --lowering--.f64N/A

                                                                \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                                              4. *-commutativeN/A

                                                                \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                                              5. *-lowering-*.f6482.6%

                                                                \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                                            10. Simplified82.6%

                                                              \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]

                                                            if 0.070000000000000007 < x1

                                                            1. Initial program 50.6%

                                                              \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                            2. Simplified50.7%

                                                              \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                            3. Add Preprocessing
                                                            4. Taylor expanded in x1 around inf

                                                              \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                            5. Step-by-step derivation
                                                              1. Simplified50.7%

                                                                \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                              2. Taylor expanded in x1 around inf

                                                                \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                              3. Step-by-step derivation
                                                                1. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                                2. metadata-evalN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                3. pow-sqrN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                4. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                5. unpow2N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                6. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                7. unpow2N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                8. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                9. sub-negN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                10. +-lowering-+.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                11. associate-*r/N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                                12. metadata-evalN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                                13. distribute-neg-fracN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                                14. metadata-evalN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                                15. /-lowering-/.f6482.2%

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                              4. Simplified82.2%

                                                                \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                              5. Taylor expanded in x1 around 0

                                                                \[\leadsto \color{blue}{{x1}^{3} \cdot \left(6 \cdot x1 - 3\right)} \]
                                                              6. Step-by-step derivation
                                                                1. unpow3N/A

                                                                  \[\leadsto \left(\left(x1 \cdot x1\right) \cdot x1\right) \cdot \left(\color{blue}{6 \cdot x1} - 3\right) \]
                                                                2. unpow2N/A

                                                                  \[\leadsto \left({x1}^{2} \cdot x1\right) \cdot \left(\color{blue}{6} \cdot x1 - 3\right) \]
                                                                3. associate-*l*N/A

                                                                  \[\leadsto {x1}^{2} \cdot \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)} \]
                                                                4. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)}\right) \]
                                                                5. unpow2N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                                6. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                                7. *-lowering-*.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(6 \cdot x1 - 3\right)}\right)\right) \]
                                                                8. sub-negN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                                9. metadata-evalN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right)\right) \]
                                                                10. +-commutativeN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(-3 + \color{blue}{6 \cdot x1}\right)\right)\right) \]
                                                                11. +-lowering-+.f64N/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \color{blue}{\left(6 \cdot x1\right)}\right)\right)\right) \]
                                                                12. *-commutativeN/A

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot \color{blue}{6}\right)\right)\right)\right) \]
                                                                13. *-lowering-*.f6482.4%

                                                                  \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, \color{blue}{6}\right)\right)\right)\right) \]
                                                              7. Simplified82.4%

                                                                \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)} \]
                                                            6. Recombined 4 regimes into one program.
                                                            7. Final simplification84.0%

                                                              \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -3.55 \cdot 10^{+15}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq -2.2 \cdot 10^{-102}:\\ \;\;\;\;x2 \cdot -6 + x1 \cdot \left(8 \cdot \left(x2 \cdot x2\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \]
                                                            8. Add Preprocessing

                                                            Alternative 19: 80.6% accurate, 4.9× speedup?

                                                            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -3.5 \cdot 10^{+15}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq -1.85 \cdot 10^{-63}:\\ \;\;\;\;x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\ \end{array} \end{array} \]
                                                            (FPCore (x1 x2)
                                                             :precision binary64
                                                             (if (<= x1 -3.5e+15)
                                                               (* 6.0 (* x1 (* x1 (* x1 x1))))
                                                               (if (<= x1 -1.85e-63)
                                                                 (* x2 (* x1 (* x2 8.0)))
                                                                 (if (<= x1 0.07)
                                                                   (- (* x2 -6.0) x1)
                                                                   (* (* x1 x1) (* x1 (+ -3.0 (* x1 6.0))))))))
                                                            double code(double x1, double x2) {
                                                            	double tmp;
                                                            	if (x1 <= -3.5e+15) {
                                                            		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                            	} else if (x1 <= -1.85e-63) {
                                                            		tmp = x2 * (x1 * (x2 * 8.0));
                                                            	} else if (x1 <= 0.07) {
                                                            		tmp = (x2 * -6.0) - x1;
                                                            	} else {
                                                            		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                            	}
                                                            	return tmp;
                                                            }
                                                            
                                                            real(8) function code(x1, x2)
                                                                real(8), intent (in) :: x1
                                                                real(8), intent (in) :: x2
                                                                real(8) :: tmp
                                                                if (x1 <= (-3.5d+15)) then
                                                                    tmp = 6.0d0 * (x1 * (x1 * (x1 * x1)))
                                                                else if (x1 <= (-1.85d-63)) then
                                                                    tmp = x2 * (x1 * (x2 * 8.0d0))
                                                                else if (x1 <= 0.07d0) then
                                                                    tmp = (x2 * (-6.0d0)) - x1
                                                                else
                                                                    tmp = (x1 * x1) * (x1 * ((-3.0d0) + (x1 * 6.0d0)))
                                                                end if
                                                                code = tmp
                                                            end function
                                                            
                                                            public static double code(double x1, double x2) {
                                                            	double tmp;
                                                            	if (x1 <= -3.5e+15) {
                                                            		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                            	} else if (x1 <= -1.85e-63) {
                                                            		tmp = x2 * (x1 * (x2 * 8.0));
                                                            	} else if (x1 <= 0.07) {
                                                            		tmp = (x2 * -6.0) - x1;
                                                            	} else {
                                                            		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                            	}
                                                            	return tmp;
                                                            }
                                                            
                                                            def code(x1, x2):
                                                            	tmp = 0
                                                            	if x1 <= -3.5e+15:
                                                            		tmp = 6.0 * (x1 * (x1 * (x1 * x1)))
                                                            	elif x1 <= -1.85e-63:
                                                            		tmp = x2 * (x1 * (x2 * 8.0))
                                                            	elif x1 <= 0.07:
                                                            		tmp = (x2 * -6.0) - x1
                                                            	else:
                                                            		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)))
                                                            	return tmp
                                                            
                                                            function code(x1, x2)
                                                            	tmp = 0.0
                                                            	if (x1 <= -3.5e+15)
                                                            		tmp = Float64(6.0 * Float64(x1 * Float64(x1 * Float64(x1 * x1))));
                                                            	elseif (x1 <= -1.85e-63)
                                                            		tmp = Float64(x2 * Float64(x1 * Float64(x2 * 8.0)));
                                                            	elseif (x1 <= 0.07)
                                                            		tmp = Float64(Float64(x2 * -6.0) - x1);
                                                            	else
                                                            		tmp = Float64(Float64(x1 * x1) * Float64(x1 * Float64(-3.0 + Float64(x1 * 6.0))));
                                                            	end
                                                            	return tmp
                                                            end
                                                            
                                                            function tmp_2 = code(x1, x2)
                                                            	tmp = 0.0;
                                                            	if (x1 <= -3.5e+15)
                                                            		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                            	elseif (x1 <= -1.85e-63)
                                                            		tmp = x2 * (x1 * (x2 * 8.0));
                                                            	elseif (x1 <= 0.07)
                                                            		tmp = (x2 * -6.0) - x1;
                                                            	else
                                                            		tmp = (x1 * x1) * (x1 * (-3.0 + (x1 * 6.0)));
                                                            	end
                                                            	tmp_2 = tmp;
                                                            end
                                                            
                                                            code[x1_, x2_] := If[LessEqual[x1, -3.5e+15], N[(6.0 * N[(x1 * N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -1.85e-63], N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * N[(-3.0 + N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
                                                            
                                                            \begin{array}{l}
                                                            
                                                            \\
                                                            \begin{array}{l}
                                                            \mathbf{if}\;x1 \leq -3.5 \cdot 10^{+15}:\\
                                                            \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\
                                                            
                                                            \mathbf{elif}\;x1 \leq -1.85 \cdot 10^{-63}:\\
                                                            \;\;\;\;x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                                                            
                                                            \mathbf{elif}\;x1 \leq 0.07:\\
                                                            \;\;\;\;x2 \cdot -6 - x1\\
                                                            
                                                            \mathbf{else}:\\
                                                            \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)\\
                                                            
                                                            
                                                            \end{array}
                                                            \end{array}
                                                            
                                                            Derivation
                                                            1. Split input into 4 regimes
                                                            2. if x1 < -3.5e15

                                                              1. Initial program 27.1%

                                                                \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                              2. Simplified27.1%

                                                                \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                              3. Add Preprocessing
                                                              4. Taylor expanded in x1 around inf

                                                                \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                              5. Step-by-step derivation
                                                                1. Simplified27.1%

                                                                  \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                                2. Taylor expanded in x1 around inf

                                                                  \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                                3. Step-by-step derivation
                                                                  1. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                                  2. metadata-evalN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  3. pow-sqrN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  4. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  5. unpow2N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  6. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  7. unpow2N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  8. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                  9. sub-negN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                  10. +-lowering-+.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                  11. associate-*r/N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                                  12. metadata-evalN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                                  13. distribute-neg-fracN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                                  14. metadata-evalN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                                  15. /-lowering-/.f6492.1%

                                                                    \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                                4. Simplified92.1%

                                                                  \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                                5. Taylor expanded in x1 around inf

                                                                  \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
                                                                6. Step-by-step derivation
                                                                  1. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                                                                  2. metadata-evalN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                                                                  3. pow-sqrN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                                                                  4. unpow2N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                                                                  5. associate-*l*N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                                                                  6. unpow2N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                  7. cube-multN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                                                                  8. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                                                                  9. cube-multN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                                                                  10. unpow2N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                                                                  11. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                                  12. unpow2N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                  13. *-lowering-*.f6492.1%

                                                                    \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                                7. Simplified92.1%

                                                                  \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]

                                                                if -3.5e15 < x1 < -1.85000000000000006e-63

                                                                1. Initial program 99.4%

                                                                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                2. Simplified99.6%

                                                                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                3. Add Preprocessing
                                                                4. Taylor expanded in x1 around 0

                                                                  \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                                5. Simplified86.0%

                                                                  \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                                6. Taylor expanded in x2 around 0

                                                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                                                7. Step-by-step derivation
                                                                  1. sub-negN/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                                                  2. metadata-evalN/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                                                  3. +-lowering-+.f64N/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                                                  4. *-commutativeN/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                                                  5. *-lowering-*.f6485.8%

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                                                8. Simplified85.8%

                                                                  \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                                                9. Taylor expanded in x2 around inf

                                                                  \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot {x2}^{2}\right)} \]
                                                                10. Step-by-step derivation
                                                                  1. unpow2N/A

                                                                    \[\leadsto 8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right) \]
                                                                  2. associate-*r*N/A

                                                                    \[\leadsto 8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right) \]
                                                                  3. associate-*l*N/A

                                                                    \[\leadsto \left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2} \]
                                                                  4. *-commutativeN/A

                                                                    \[\leadsto x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)} \]
                                                                  5. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right) \]
                                                                  6. *-commutativeN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right) \]
                                                                  7. associate-*l*N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right) \]
                                                                  8. *-commutativeN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right) \]
                                                                  9. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right) \]
                                                                  10. *-commutativeN/A

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right) \]
                                                                  11. *-lowering-*.f6460.0%

                                                                    \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right) \]
                                                                11. Simplified60.0%

                                                                  \[\leadsto \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                                                                if -1.85000000000000006e-63 < x1 < 0.070000000000000007

                                                                1. Initial program 99.4%

                                                                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                2. Simplified99.5%

                                                                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                3. Add Preprocessing
                                                                4. Applied egg-rr99.5%

                                                                  \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                5. Taylor expanded in x1 around inf

                                                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                6. Step-by-step derivation
                                                                  1. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  2. metadata-evalN/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  3. pow-sqrN/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  4. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  5. unpow2N/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  6. *-lowering-*.f64N/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  7. unpow2N/A

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                  8. *-lowering-*.f6480.9%

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                7. Simplified80.9%

                                                                  \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                8. Taylor expanded in x1 around 0

                                                                  \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                                                9. Step-by-step derivation
                                                                  1. mul-1-negN/A

                                                                    \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                                                  2. unsub-negN/A

                                                                    \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                                                  3. --lowering--.f64N/A

                                                                    \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                                                  4. *-commutativeN/A

                                                                    \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                                                  5. *-lowering-*.f6481.1%

                                                                    \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                                                10. Simplified81.1%

                                                                  \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]

                                                                if 0.070000000000000007 < x1

                                                                1. Initial program 50.6%

                                                                  \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                2. Simplified50.7%

                                                                  \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                3. Add Preprocessing
                                                                4. Taylor expanded in x1 around inf

                                                                  \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                                5. Step-by-step derivation
                                                                  1. Simplified50.7%

                                                                    \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                                  2. Taylor expanded in x1 around inf

                                                                    \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                                  3. Step-by-step derivation
                                                                    1. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                                    2. metadata-evalN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    3. pow-sqrN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    4. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    5. unpow2N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    6. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    7. unpow2N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    8. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                    9. sub-negN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                    10. +-lowering-+.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                    11. associate-*r/N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                                    12. metadata-evalN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                                    13. distribute-neg-fracN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                                    14. metadata-evalN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                                    15. /-lowering-/.f6482.2%

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                                  4. Simplified82.2%

                                                                    \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                                  5. Taylor expanded in x1 around 0

                                                                    \[\leadsto \color{blue}{{x1}^{3} \cdot \left(6 \cdot x1 - 3\right)} \]
                                                                  6. Step-by-step derivation
                                                                    1. unpow3N/A

                                                                      \[\leadsto \left(\left(x1 \cdot x1\right) \cdot x1\right) \cdot \left(\color{blue}{6 \cdot x1} - 3\right) \]
                                                                    2. unpow2N/A

                                                                      \[\leadsto \left({x1}^{2} \cdot x1\right) \cdot \left(\color{blue}{6} \cdot x1 - 3\right) \]
                                                                    3. associate-*l*N/A

                                                                      \[\leadsto {x1}^{2} \cdot \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)} \]
                                                                    4. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)}\right) \]
                                                                    5. unpow2N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                                    6. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                                    7. *-lowering-*.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(6 \cdot x1 - 3\right)}\right)\right) \]
                                                                    8. sub-negN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                                    9. metadata-evalN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right)\right) \]
                                                                    10. +-commutativeN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(-3 + \color{blue}{6 \cdot x1}\right)\right)\right) \]
                                                                    11. +-lowering-+.f64N/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \color{blue}{\left(6 \cdot x1\right)}\right)\right)\right) \]
                                                                    12. *-commutativeN/A

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot \color{blue}{6}\right)\right)\right)\right) \]
                                                                    13. *-lowering-*.f6482.4%

                                                                      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, \color{blue}{6}\right)\right)\right)\right) \]
                                                                  7. Simplified82.4%

                                                                    \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)} \]
                                                                6. Recombined 4 regimes into one program.
                                                                7. Add Preprocessing

                                                                Alternative 20: 80.5% accurate, 5.3× speedup?

                                                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x1 \leq -2.8 \cdot 10^{+14}:\\ \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{elif}\;x1 \leq -3.8 \cdot 10^{-62}:\\ \;\;\;\;x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{else}:\\ \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(x1 \cdot 6\right)\right)\\ \end{array} \end{array} \]
                                                                (FPCore (x1 x2)
                                                                 :precision binary64
                                                                 (if (<= x1 -2.8e+14)
                                                                   (* 6.0 (* x1 (* x1 (* x1 x1))))
                                                                   (if (<= x1 -3.8e-62)
                                                                     (* x2 (* x1 (* x2 8.0)))
                                                                     (if (<= x1 0.07) (- (* x2 -6.0) x1) (* (* x1 x1) (* x1 (* x1 6.0)))))))
                                                                double code(double x1, double x2) {
                                                                	double tmp;
                                                                	if (x1 <= -2.8e+14) {
                                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                                	} else if (x1 <= -3.8e-62) {
                                                                		tmp = x2 * (x1 * (x2 * 8.0));
                                                                	} else if (x1 <= 0.07) {
                                                                		tmp = (x2 * -6.0) - x1;
                                                                	} else {
                                                                		tmp = (x1 * x1) * (x1 * (x1 * 6.0));
                                                                	}
                                                                	return tmp;
                                                                }
                                                                
                                                                real(8) function code(x1, x2)
                                                                    real(8), intent (in) :: x1
                                                                    real(8), intent (in) :: x2
                                                                    real(8) :: tmp
                                                                    if (x1 <= (-2.8d+14)) then
                                                                        tmp = 6.0d0 * (x1 * (x1 * (x1 * x1)))
                                                                    else if (x1 <= (-3.8d-62)) then
                                                                        tmp = x2 * (x1 * (x2 * 8.0d0))
                                                                    else if (x1 <= 0.07d0) then
                                                                        tmp = (x2 * (-6.0d0)) - x1
                                                                    else
                                                                        tmp = (x1 * x1) * (x1 * (x1 * 6.0d0))
                                                                    end if
                                                                    code = tmp
                                                                end function
                                                                
                                                                public static double code(double x1, double x2) {
                                                                	double tmp;
                                                                	if (x1 <= -2.8e+14) {
                                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                                	} else if (x1 <= -3.8e-62) {
                                                                		tmp = x2 * (x1 * (x2 * 8.0));
                                                                	} else if (x1 <= 0.07) {
                                                                		tmp = (x2 * -6.0) - x1;
                                                                	} else {
                                                                		tmp = (x1 * x1) * (x1 * (x1 * 6.0));
                                                                	}
                                                                	return tmp;
                                                                }
                                                                
                                                                def code(x1, x2):
                                                                	tmp = 0
                                                                	if x1 <= -2.8e+14:
                                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)))
                                                                	elif x1 <= -3.8e-62:
                                                                		tmp = x2 * (x1 * (x2 * 8.0))
                                                                	elif x1 <= 0.07:
                                                                		tmp = (x2 * -6.0) - x1
                                                                	else:
                                                                		tmp = (x1 * x1) * (x1 * (x1 * 6.0))
                                                                	return tmp
                                                                
                                                                function code(x1, x2)
                                                                	tmp = 0.0
                                                                	if (x1 <= -2.8e+14)
                                                                		tmp = Float64(6.0 * Float64(x1 * Float64(x1 * Float64(x1 * x1))));
                                                                	elseif (x1 <= -3.8e-62)
                                                                		tmp = Float64(x2 * Float64(x1 * Float64(x2 * 8.0)));
                                                                	elseif (x1 <= 0.07)
                                                                		tmp = Float64(Float64(x2 * -6.0) - x1);
                                                                	else
                                                                		tmp = Float64(Float64(x1 * x1) * Float64(x1 * Float64(x1 * 6.0)));
                                                                	end
                                                                	return tmp
                                                                end
                                                                
                                                                function tmp_2 = code(x1, x2)
                                                                	tmp = 0.0;
                                                                	if (x1 <= -2.8e+14)
                                                                		tmp = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                                	elseif (x1 <= -3.8e-62)
                                                                		tmp = x2 * (x1 * (x2 * 8.0));
                                                                	elseif (x1 <= 0.07)
                                                                		tmp = (x2 * -6.0) - x1;
                                                                	else
                                                                		tmp = (x1 * x1) * (x1 * (x1 * 6.0));
                                                                	end
                                                                	tmp_2 = tmp;
                                                                end
                                                                
                                                                code[x1_, x2_] := If[LessEqual[x1, -2.8e+14], N[(6.0 * N[(x1 * N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, -3.8e-62], N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], N[(N[(x1 * x1), $MachinePrecision] * N[(x1 * N[(x1 * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
                                                                
                                                                \begin{array}{l}
                                                                
                                                                \\
                                                                \begin{array}{l}
                                                                \mathbf{if}\;x1 \leq -2.8 \cdot 10^{+14}:\\
                                                                \;\;\;\;6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\
                                                                
                                                                \mathbf{elif}\;x1 \leq -3.8 \cdot 10^{-62}:\\
                                                                \;\;\;\;x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                                                                
                                                                \mathbf{elif}\;x1 \leq 0.07:\\
                                                                \;\;\;\;x2 \cdot -6 - x1\\
                                                                
                                                                \mathbf{else}:\\
                                                                \;\;\;\;\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(x1 \cdot 6\right)\right)\\
                                                                
                                                                
                                                                \end{array}
                                                                \end{array}
                                                                
                                                                Derivation
                                                                1. Split input into 4 regimes
                                                                2. if x1 < -2.8e14

                                                                  1. Initial program 27.1%

                                                                    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                  2. Simplified27.1%

                                                                    \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                  3. Add Preprocessing
                                                                  4. Taylor expanded in x1 around inf

                                                                    \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                                  5. Step-by-step derivation
                                                                    1. Simplified27.1%

                                                                      \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                                    2. Taylor expanded in x1 around inf

                                                                      \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                                    3. Step-by-step derivation
                                                                      1. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                                      2. metadata-evalN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      3. pow-sqrN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      4. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      5. unpow2N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      6. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      7. unpow2N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      8. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                      9. sub-negN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                      10. +-lowering-+.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                      11. associate-*r/N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                                      12. metadata-evalN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                                      13. distribute-neg-fracN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                                      14. metadata-evalN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                                      15. /-lowering-/.f6492.1%

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                                    4. Simplified92.1%

                                                                      \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                                    5. Taylor expanded in x1 around inf

                                                                      \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
                                                                    6. Step-by-step derivation
                                                                      1. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                                                                      2. metadata-evalN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                                                                      3. pow-sqrN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                                                                      4. unpow2N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                                                                      5. associate-*l*N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                                                                      6. unpow2N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                      7. cube-multN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                                                                      8. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                                                                      9. cube-multN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                                                                      10. unpow2N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                                                                      11. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                                      12. unpow2N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                      13. *-lowering-*.f6492.1%

                                                                        \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                                    7. Simplified92.1%

                                                                      \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]

                                                                    if -2.8e14 < x1 < -3.80000000000000006e-62

                                                                    1. Initial program 99.4%

                                                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                    2. Simplified99.6%

                                                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                    3. Add Preprocessing
                                                                    4. Taylor expanded in x1 around 0

                                                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                                    5. Simplified86.0%

                                                                      \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                                    6. Taylor expanded in x2 around 0

                                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                                                    7. Step-by-step derivation
                                                                      1. sub-negN/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                                                      2. metadata-evalN/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                                                      3. +-lowering-+.f64N/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                                                      4. *-commutativeN/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                                                      5. *-lowering-*.f6485.8%

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                                                    8. Simplified85.8%

                                                                      \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                                                    9. Taylor expanded in x2 around inf

                                                                      \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot {x2}^{2}\right)} \]
                                                                    10. Step-by-step derivation
                                                                      1. unpow2N/A

                                                                        \[\leadsto 8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right) \]
                                                                      2. associate-*r*N/A

                                                                        \[\leadsto 8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right) \]
                                                                      3. associate-*l*N/A

                                                                        \[\leadsto \left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2} \]
                                                                      4. *-commutativeN/A

                                                                        \[\leadsto x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)} \]
                                                                      5. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right) \]
                                                                      6. *-commutativeN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right) \]
                                                                      7. associate-*l*N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right) \]
                                                                      8. *-commutativeN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right) \]
                                                                      9. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right) \]
                                                                      10. *-commutativeN/A

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right) \]
                                                                      11. *-lowering-*.f6460.0%

                                                                        \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right) \]
                                                                    11. Simplified60.0%

                                                                      \[\leadsto \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                                                                    if -3.80000000000000006e-62 < x1 < 0.070000000000000007

                                                                    1. Initial program 99.4%

                                                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                    2. Simplified99.5%

                                                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                    3. Add Preprocessing
                                                                    4. Applied egg-rr99.5%

                                                                      \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                    5. Taylor expanded in x1 around inf

                                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                    6. Step-by-step derivation
                                                                      1. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      2. metadata-evalN/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      3. pow-sqrN/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      4. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      5. unpow2N/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      6. *-lowering-*.f64N/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      7. unpow2N/A

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                      8. *-lowering-*.f6480.9%

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                    7. Simplified80.9%

                                                                      \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                    8. Taylor expanded in x1 around 0

                                                                      \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                                                    9. Step-by-step derivation
                                                                      1. mul-1-negN/A

                                                                        \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                                                      2. unsub-negN/A

                                                                        \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                                                      3. --lowering--.f64N/A

                                                                        \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                                                      4. *-commutativeN/A

                                                                        \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                                                      5. *-lowering-*.f6481.1%

                                                                        \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                                                    10. Simplified81.1%

                                                                      \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]

                                                                    if 0.070000000000000007 < x1

                                                                    1. Initial program 50.6%

                                                                      \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                    2. Simplified50.7%

                                                                      \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                    3. Add Preprocessing
                                                                    4. Taylor expanded in x1 around inf

                                                                      \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                                    5. Step-by-step derivation
                                                                      1. Simplified50.7%

                                                                        \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                                      2. Taylor expanded in x1 around inf

                                                                        \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                                      3. Step-by-step derivation
                                                                        1. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                                        2. metadata-evalN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        3. pow-sqrN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        4. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        5. unpow2N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        6. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        7. unpow2N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        8. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                        9. sub-negN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                        10. +-lowering-+.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                        11. associate-*r/N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                                        12. metadata-evalN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                                        13. distribute-neg-fracN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                                        14. metadata-evalN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                                        15. /-lowering-/.f6482.2%

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                                      4. Simplified82.2%

                                                                        \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                                      5. Taylor expanded in x1 around 0

                                                                        \[\leadsto \color{blue}{{x1}^{3} \cdot \left(6 \cdot x1 - 3\right)} \]
                                                                      6. Step-by-step derivation
                                                                        1. unpow3N/A

                                                                          \[\leadsto \left(\left(x1 \cdot x1\right) \cdot x1\right) \cdot \left(\color{blue}{6 \cdot x1} - 3\right) \]
                                                                        2. unpow2N/A

                                                                          \[\leadsto \left({x1}^{2} \cdot x1\right) \cdot \left(\color{blue}{6} \cdot x1 - 3\right) \]
                                                                        3. associate-*l*N/A

                                                                          \[\leadsto {x1}^{2} \cdot \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)} \]
                                                                        4. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2}\right), \color{blue}{\left(x1 \cdot \left(6 \cdot x1 - 3\right)\right)}\right) \]
                                                                        5. unpow2N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                                        6. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\color{blue}{x1} \cdot \left(6 \cdot x1 - 3\right)\right)\right) \]
                                                                        7. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(6 \cdot x1 - 3\right)}\right)\right) \]
                                                                        8. sub-negN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
                                                                        9. metadata-evalN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(6 \cdot x1 + -3\right)\right)\right) \]
                                                                        10. +-commutativeN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(-3 + \color{blue}{6 \cdot x1}\right)\right)\right) \]
                                                                        11. +-lowering-+.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \color{blue}{\left(6 \cdot x1\right)}\right)\right)\right) \]
                                                                        12. *-commutativeN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \left(x1 \cdot \color{blue}{6}\right)\right)\right)\right) \]
                                                                        13. *-lowering-*.f6482.4%

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(x1, \color{blue}{6}\right)\right)\right)\right) \]
                                                                      7. Simplified82.4%

                                                                        \[\leadsto \color{blue}{\left(x1 \cdot x1\right) \cdot \left(x1 \cdot \left(-3 + x1 \cdot 6\right)\right)} \]
                                                                      8. Taylor expanded in x1 around inf

                                                                        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \color{blue}{\left(6 \cdot {x1}^{2}\right)}\right) \]
                                                                      9. Step-by-step derivation
                                                                        1. *-commutativeN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2} \cdot \color{blue}{6}\right)\right) \]
                                                                        2. unpow2N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(\left(x1 \cdot x1\right) \cdot 6\right)\right) \]
                                                                        3. associate-*l*N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \color{blue}{\left(x1 \cdot 6\right)}\right)\right) \]
                                                                        4. *-commutativeN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot \left(6 \cdot \color{blue}{x1}\right)\right)\right) \]
                                                                        5. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \color{blue}{\left(6 \cdot x1\right)}\right)\right) \]
                                                                        6. *-commutativeN/A

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{6}\right)\right)\right) \]
                                                                        7. *-lowering-*.f6482.1%

                                                                          \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{6}\right)\right)\right) \]
                                                                      10. Simplified82.1%

                                                                        \[\leadsto \left(x1 \cdot x1\right) \cdot \color{blue}{\left(x1 \cdot \left(x1 \cdot 6\right)\right)} \]
                                                                    6. Recombined 4 regimes into one program.
                                                                    7. Add Preprocessing

                                                                    Alternative 21: 80.7% accurate, 5.3× speedup?

                                                                    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\ \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq -1.7 \cdot 10^{-57}:\\ \;\;\;\;x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                                                                    (FPCore (x1 x2)
                                                                     :precision binary64
                                                                     (let* ((t_0 (* 6.0 (* x1 (* x1 (* x1 x1))))))
                                                                       (if (<= x1 -2e+14)
                                                                         t_0
                                                                         (if (<= x1 -1.7e-57)
                                                                           (* x2 (* x1 (* x2 8.0)))
                                                                           (if (<= x1 0.07) (- (* x2 -6.0) x1) t_0)))))
                                                                    double code(double x1, double x2) {
                                                                    	double t_0 = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                                    	double tmp;
                                                                    	if (x1 <= -2e+14) {
                                                                    		tmp = t_0;
                                                                    	} else if (x1 <= -1.7e-57) {
                                                                    		tmp = x2 * (x1 * (x2 * 8.0));
                                                                    	} else if (x1 <= 0.07) {
                                                                    		tmp = (x2 * -6.0) - x1;
                                                                    	} else {
                                                                    		tmp = t_0;
                                                                    	}
                                                                    	return tmp;
                                                                    }
                                                                    
                                                                    real(8) function code(x1, x2)
                                                                        real(8), intent (in) :: x1
                                                                        real(8), intent (in) :: x2
                                                                        real(8) :: t_0
                                                                        real(8) :: tmp
                                                                        t_0 = 6.0d0 * (x1 * (x1 * (x1 * x1)))
                                                                        if (x1 <= (-2d+14)) then
                                                                            tmp = t_0
                                                                        else if (x1 <= (-1.7d-57)) then
                                                                            tmp = x2 * (x1 * (x2 * 8.0d0))
                                                                        else if (x1 <= 0.07d0) then
                                                                            tmp = (x2 * (-6.0d0)) - x1
                                                                        else
                                                                            tmp = t_0
                                                                        end if
                                                                        code = tmp
                                                                    end function
                                                                    
                                                                    public static double code(double x1, double x2) {
                                                                    	double t_0 = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                                    	double tmp;
                                                                    	if (x1 <= -2e+14) {
                                                                    		tmp = t_0;
                                                                    	} else if (x1 <= -1.7e-57) {
                                                                    		tmp = x2 * (x1 * (x2 * 8.0));
                                                                    	} else if (x1 <= 0.07) {
                                                                    		tmp = (x2 * -6.0) - x1;
                                                                    	} else {
                                                                    		tmp = t_0;
                                                                    	}
                                                                    	return tmp;
                                                                    }
                                                                    
                                                                    def code(x1, x2):
                                                                    	t_0 = 6.0 * (x1 * (x1 * (x1 * x1)))
                                                                    	tmp = 0
                                                                    	if x1 <= -2e+14:
                                                                    		tmp = t_0
                                                                    	elif x1 <= -1.7e-57:
                                                                    		tmp = x2 * (x1 * (x2 * 8.0))
                                                                    	elif x1 <= 0.07:
                                                                    		tmp = (x2 * -6.0) - x1
                                                                    	else:
                                                                    		tmp = t_0
                                                                    	return tmp
                                                                    
                                                                    function code(x1, x2)
                                                                    	t_0 = Float64(6.0 * Float64(x1 * Float64(x1 * Float64(x1 * x1))))
                                                                    	tmp = 0.0
                                                                    	if (x1 <= -2e+14)
                                                                    		tmp = t_0;
                                                                    	elseif (x1 <= -1.7e-57)
                                                                    		tmp = Float64(x2 * Float64(x1 * Float64(x2 * 8.0)));
                                                                    	elseif (x1 <= 0.07)
                                                                    		tmp = Float64(Float64(x2 * -6.0) - x1);
                                                                    	else
                                                                    		tmp = t_0;
                                                                    	end
                                                                    	return tmp
                                                                    end
                                                                    
                                                                    function tmp_2 = code(x1, x2)
                                                                    	t_0 = 6.0 * (x1 * (x1 * (x1 * x1)));
                                                                    	tmp = 0.0;
                                                                    	if (x1 <= -2e+14)
                                                                    		tmp = t_0;
                                                                    	elseif (x1 <= -1.7e-57)
                                                                    		tmp = x2 * (x1 * (x2 * 8.0));
                                                                    	elseif (x1 <= 0.07)
                                                                    		tmp = (x2 * -6.0) - x1;
                                                                    	else
                                                                    		tmp = t_0;
                                                                    	end
                                                                    	tmp_2 = tmp;
                                                                    end
                                                                    
                                                                    code[x1_, x2_] := Block[{t$95$0 = N[(6.0 * N[(x1 * N[(x1 * N[(x1 * x1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -2e+14], t$95$0, If[LessEqual[x1, -1.7e-57], N[(x2 * N[(x1 * N[(x2 * 8.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x1, 0.07], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], t$95$0]]]]
                                                                    
                                                                    \begin{array}{l}
                                                                    
                                                                    \\
                                                                    \begin{array}{l}
                                                                    t_0 := 6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)\\
                                                                    \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\
                                                                    \;\;\;\;t\_0\\
                                                                    
                                                                    \mathbf{elif}\;x1 \leq -1.7 \cdot 10^{-57}:\\
                                                                    \;\;\;\;x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)\\
                                                                    
                                                                    \mathbf{elif}\;x1 \leq 0.07:\\
                                                                    \;\;\;\;x2 \cdot -6 - x1\\
                                                                    
                                                                    \mathbf{else}:\\
                                                                    \;\;\;\;t\_0\\
                                                                    
                                                                    
                                                                    \end{array}
                                                                    \end{array}
                                                                    
                                                                    Derivation
                                                                    1. Split input into 3 regimes
                                                                    2. if x1 < -2e14 or 0.070000000000000007 < x1

                                                                      1. Initial program 37.3%

                                                                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                      2. Simplified37.4%

                                                                        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                      3. Add Preprocessing
                                                                      4. Taylor expanded in x1 around inf

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, -6\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(-6, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(2, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 4\right)\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \color{blue}{9}\right)\right)\right)\right)\right)\right) \]
                                                                      5. Step-by-step derivation
                                                                        1. Simplified37.4%

                                                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \color{blue}{9}\right)\right)\right) \]
                                                                        2. Taylor expanded in x1 around inf

                                                                          \[\leadsto \color{blue}{{x1}^{4} \cdot \left(6 - 3 \cdot \frac{1}{x1}\right)} \]
                                                                        3. Step-by-step derivation
                                                                          1. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{4}\right), \color{blue}{\left(6 - 3 \cdot \frac{1}{x1}\right)}\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{\left(2 \cdot 2\right)}\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          3. pow-sqrN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\left({x1}^{2} \cdot {x1}^{2}\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          4. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right), \left(\color{blue}{6} - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          5. unpow2N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          6. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          7. unpow2N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          8. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 - 3 \cdot \frac{1}{x1}\right)\right) \]
                                                                          9. sub-negN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \left(6 + \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                          10. +-lowering-+.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \color{blue}{\left(\mathsf{neg}\left(3 \cdot \frac{1}{x1}\right)\right)}\right)\right) \]
                                                                          11. associate-*r/N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3 \cdot 1}{x1}\right)\right)\right)\right) \]
                                                                          12. metadata-evalN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\mathsf{neg}\left(\frac{3}{x1}\right)\right)\right)\right) \]
                                                                          13. distribute-neg-fracN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{\mathsf{neg}\left(3\right)}{\color{blue}{x1}}\right)\right)\right) \]
                                                                          14. metadata-evalN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \left(\frac{-3}{x1}\right)\right)\right) \]
                                                                          15. /-lowering-/.f6487.8%

                                                                            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right), \mathsf{+.f64}\left(6, \mathsf{/.f64}\left(-3, \color{blue}{x1}\right)\right)\right) \]
                                                                        4. Simplified87.8%

                                                                          \[\leadsto \color{blue}{\left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(6 + \frac{-3}{x1}\right)} \]
                                                                        5. Taylor expanded in x1 around inf

                                                                          \[\leadsto \color{blue}{6 \cdot {x1}^{4}} \]
                                                                        6. Step-by-step derivation
                                                                          1. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \color{blue}{\left({x1}^{4}\right)}\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{\left(2 \cdot \color{blue}{2}\right)}\right)\right) \]
                                                                          3. pow-sqrN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \left({x1}^{2} \cdot \color{blue}{{x1}^{2}}\right)\right) \]
                                                                          4. unpow2N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(\left(x1 \cdot x1\right) \cdot {\color{blue}{x1}}^{2}\right)\right) \]
                                                                          5. associate-*l*N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \color{blue}{\left(x1 \cdot {x1}^{2}\right)}\right)\right) \]
                                                                          6. unpow2N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                          7. cube-multN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \left(x1 \cdot {x1}^{\color{blue}{3}}\right)\right) \]
                                                                          8. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{3}\right)}\right)\right) \]
                                                                          9. cube-multN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{\left(x1 \cdot x1\right)}\right)\right)\right) \]
                                                                          10. unpow2N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \left(x1 \cdot {x1}^{\color{blue}{2}}\right)\right)\right) \]
                                                                          11. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                                          12. unpow2N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                          13. *-lowering-*.f6487.8%

                                                                            \[\leadsto \mathsf{*.f64}\left(6, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                                        7. Simplified87.8%

                                                                          \[\leadsto \color{blue}{6 \cdot \left(x1 \cdot \left(x1 \cdot \left(x1 \cdot x1\right)\right)\right)} \]

                                                                        if -2e14 < x1 < -1.70000000000000008e-57

                                                                        1. Initial program 99.4%

                                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                        2. Simplified99.6%

                                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                        3. Add Preprocessing
                                                                        4. Taylor expanded in x1 around 0

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                                        5. Simplified86.0%

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                                        6. Taylor expanded in x2 around 0

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                                                        7. Step-by-step derivation
                                                                          1. sub-negN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                                                          3. +-lowering-+.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                                                          5. *-lowering-*.f6485.8%

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                                                        8. Simplified85.8%

                                                                          \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                                                        9. Taylor expanded in x2 around inf

                                                                          \[\leadsto \color{blue}{8 \cdot \left(x1 \cdot {x2}^{2}\right)} \]
                                                                        10. Step-by-step derivation
                                                                          1. unpow2N/A

                                                                            \[\leadsto 8 \cdot \left(x1 \cdot \left(x2 \cdot \color{blue}{x2}\right)\right) \]
                                                                          2. associate-*r*N/A

                                                                            \[\leadsto 8 \cdot \left(\left(x1 \cdot x2\right) \cdot \color{blue}{x2}\right) \]
                                                                          3. associate-*l*N/A

                                                                            \[\leadsto \left(8 \cdot \left(x1 \cdot x2\right)\right) \cdot \color{blue}{x2} \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto x2 \cdot \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)} \]
                                                                          5. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \color{blue}{\left(8 \cdot \left(x1 \cdot x2\right)\right)}\right) \]
                                                                          6. *-commutativeN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \left(\left(x1 \cdot x2\right) \cdot \color{blue}{8}\right)\right) \]
                                                                          7. associate-*l*N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \color{blue}{\left(x2 \cdot 8\right)}\right)\right) \]
                                                                          8. *-commutativeN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \left(x1 \cdot \left(8 \cdot \color{blue}{x2}\right)\right)\right) \]
                                                                          9. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \color{blue}{\left(8 \cdot x2\right)}\right)\right) \]
                                                                          10. *-commutativeN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \left(x2 \cdot \color{blue}{8}\right)\right)\right) \]
                                                                          11. *-lowering-*.f6460.0%

                                                                            \[\leadsto \mathsf{*.f64}\left(x2, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, \color{blue}{8}\right)\right)\right) \]
                                                                        11. Simplified60.0%

                                                                          \[\leadsto \color{blue}{x2 \cdot \left(x1 \cdot \left(x2 \cdot 8\right)\right)} \]

                                                                        if -1.70000000000000008e-57 < x1 < 0.070000000000000007

                                                                        1. Initial program 99.4%

                                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                        2. Simplified99.5%

                                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                        3. Add Preprocessing
                                                                        4. Applied egg-rr99.5%

                                                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                        5. Taylor expanded in x1 around inf

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                        6. Step-by-step derivation
                                                                          1. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          3. pow-sqrN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          4. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          5. unpow2N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          6. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          7. unpow2N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          8. *-lowering-*.f6480.9%

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                        7. Simplified80.9%

                                                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                        8. Taylor expanded in x1 around 0

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                                                        9. Step-by-step derivation
                                                                          1. mul-1-negN/A

                                                                            \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                                                          2. unsub-negN/A

                                                                            \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                                                          3. --lowering--.f64N/A

                                                                            \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                                                          5. *-lowering-*.f6481.1%

                                                                            \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                                                        10. Simplified81.1%

                                                                          \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]
                                                                      6. Recombined 3 regimes into one program.
                                                                      7. Add Preprocessing

                                                                      Alternative 22: 64.0% accurate, 8.4× speedup?

                                                                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot \left(x1 \cdot 9\right)\\ \mathbf{if}\;x1 \leq -5.2 \cdot 10^{+47}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq 0.07:\\ \;\;\;\;x2 \cdot -6 - x1\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                                                                      (FPCore (x1 x2)
                                                                       :precision binary64
                                                                       (let* ((t_0 (* x1 (* x1 9.0))))
                                                                         (if (<= x1 -5.2e+47) t_0 (if (<= x1 0.07) (- (* x2 -6.0) x1) t_0))))
                                                                      double code(double x1, double x2) {
                                                                      	double t_0 = x1 * (x1 * 9.0);
                                                                      	double tmp;
                                                                      	if (x1 <= -5.2e+47) {
                                                                      		tmp = t_0;
                                                                      	} else if (x1 <= 0.07) {
                                                                      		tmp = (x2 * -6.0) - x1;
                                                                      	} else {
                                                                      		tmp = t_0;
                                                                      	}
                                                                      	return tmp;
                                                                      }
                                                                      
                                                                      real(8) function code(x1, x2)
                                                                          real(8), intent (in) :: x1
                                                                          real(8), intent (in) :: x2
                                                                          real(8) :: t_0
                                                                          real(8) :: tmp
                                                                          t_0 = x1 * (x1 * 9.0d0)
                                                                          if (x1 <= (-5.2d+47)) then
                                                                              tmp = t_0
                                                                          else if (x1 <= 0.07d0) then
                                                                              tmp = (x2 * (-6.0d0)) - x1
                                                                          else
                                                                              tmp = t_0
                                                                          end if
                                                                          code = tmp
                                                                      end function
                                                                      
                                                                      public static double code(double x1, double x2) {
                                                                      	double t_0 = x1 * (x1 * 9.0);
                                                                      	double tmp;
                                                                      	if (x1 <= -5.2e+47) {
                                                                      		tmp = t_0;
                                                                      	} else if (x1 <= 0.07) {
                                                                      		tmp = (x2 * -6.0) - x1;
                                                                      	} else {
                                                                      		tmp = t_0;
                                                                      	}
                                                                      	return tmp;
                                                                      }
                                                                      
                                                                      def code(x1, x2):
                                                                      	t_0 = x1 * (x1 * 9.0)
                                                                      	tmp = 0
                                                                      	if x1 <= -5.2e+47:
                                                                      		tmp = t_0
                                                                      	elif x1 <= 0.07:
                                                                      		tmp = (x2 * -6.0) - x1
                                                                      	else:
                                                                      		tmp = t_0
                                                                      	return tmp
                                                                      
                                                                      function code(x1, x2)
                                                                      	t_0 = Float64(x1 * Float64(x1 * 9.0))
                                                                      	tmp = 0.0
                                                                      	if (x1 <= -5.2e+47)
                                                                      		tmp = t_0;
                                                                      	elseif (x1 <= 0.07)
                                                                      		tmp = Float64(Float64(x2 * -6.0) - x1);
                                                                      	else
                                                                      		tmp = t_0;
                                                                      	end
                                                                      	return tmp
                                                                      end
                                                                      
                                                                      function tmp_2 = code(x1, x2)
                                                                      	t_0 = x1 * (x1 * 9.0);
                                                                      	tmp = 0.0;
                                                                      	if (x1 <= -5.2e+47)
                                                                      		tmp = t_0;
                                                                      	elseif (x1 <= 0.07)
                                                                      		tmp = (x2 * -6.0) - x1;
                                                                      	else
                                                                      		tmp = t_0;
                                                                      	end
                                                                      	tmp_2 = tmp;
                                                                      end
                                                                      
                                                                      code[x1_, x2_] := Block[{t$95$0 = N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -5.2e+47], t$95$0, If[LessEqual[x1, 0.07], N[(N[(x2 * -6.0), $MachinePrecision] - x1), $MachinePrecision], t$95$0]]]
                                                                      
                                                                      \begin{array}{l}
                                                                      
                                                                      \\
                                                                      \begin{array}{l}
                                                                      t_0 := x1 \cdot \left(x1 \cdot 9\right)\\
                                                                      \mathbf{if}\;x1 \leq -5.2 \cdot 10^{+47}:\\
                                                                      \;\;\;\;t\_0\\
                                                                      
                                                                      \mathbf{elif}\;x1 \leq 0.07:\\
                                                                      \;\;\;\;x2 \cdot -6 - x1\\
                                                                      
                                                                      \mathbf{else}:\\
                                                                      \;\;\;\;t\_0\\
                                                                      
                                                                      
                                                                      \end{array}
                                                                      \end{array}
                                                                      
                                                                      Derivation
                                                                      1. Split input into 2 regimes
                                                                      2. if x1 < -5.20000000000000007e47 or 0.070000000000000007 < x1

                                                                        1. Initial program 32.9%

                                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                        2. Simplified33.0%

                                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                        3. Add Preprocessing
                                                                        4. Taylor expanded in x1 around 0

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                                        5. Simplified51.9%

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                                        6. Taylor expanded in x2 around 0

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                                                        7. Step-by-step derivation
                                                                          1. sub-negN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                                                          3. +-lowering-+.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                                                          5. *-lowering-*.f6459.0%

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                                                        8. Simplified59.0%

                                                                          \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                                                        9. Taylor expanded in x1 around inf

                                                                          \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                                                                        10. Step-by-step derivation
                                                                          1. *-commutativeN/A

                                                                            \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                                                                          2. unpow2N/A

                                                                            \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                                                                          3. associate-*l*N/A

                                                                            \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                                                                          5. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                                                                          6. *-commutativeN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                                                                          7. *-lowering-*.f6462.2%

                                                                            \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                                                                        11. Simplified62.2%

                                                                          \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]

                                                                        if -5.20000000000000007e47 < x1 < 0.070000000000000007

                                                                        1. Initial program 99.4%

                                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                        2. Simplified99.5%

                                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                        3. Add Preprocessing
                                                                        4. Applied egg-rr99.5%

                                                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\color{blue}{\left(\left(x1 \cdot \left(\left(-6 + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{\frac{x1 \cdot x1 + 1}{2}}\right) + x1 \cdot 4\right)\right) \cdot \left(\frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot x1 + 1\right)\right) + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right)} + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                        5. Taylor expanded in x1 around inf

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(12 \cdot {x1}^{4}\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                        6. Step-by-step derivation
                                                                          1. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{4}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{\left(2 \cdot 2\right)}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          3. pow-sqrN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \left({x1}^{2} \cdot {x1}^{2}\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          4. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left({x1}^{2}\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          5. unpow2N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\left(x1 \cdot x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          6. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left({x1}^{2}\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          7. unpow2N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \left(x1 \cdot x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                          8. *-lowering-*.f6474.7%

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(12, \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(x1, x1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(x1, x1\right), \mathsf{*.f64}\left(-6, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(x1, \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right), \mathsf{/.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right) \]
                                                                        7. Simplified74.7%

                                                                          \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(\color{blue}{12 \cdot \left(\left(x1 \cdot x1\right) \cdot \left(x1 \cdot x1\right)\right)} + \left(x1 \cdot x1\right) \cdot \left(-6 \cdot \left(x1 \cdot x1 + 1\right)\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right) \]
                                                                        8. Taylor expanded in x1 around 0

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + -1 \cdot x1} \]
                                                                        9. Step-by-step derivation
                                                                          1. mul-1-negN/A

                                                                            \[\leadsto -6 \cdot x2 + \left(\mathsf{neg}\left(x1\right)\right) \]
                                                                          2. unsub-negN/A

                                                                            \[\leadsto -6 \cdot x2 - \color{blue}{x1} \]
                                                                          3. --lowering--.f64N/A

                                                                            \[\leadsto \mathsf{\_.f64}\left(\left(-6 \cdot x2\right), \color{blue}{x1}\right) \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto \mathsf{\_.f64}\left(\left(x2 \cdot -6\right), x1\right) \]
                                                                          5. *-lowering-*.f6470.6%

                                                                            \[\leadsto \mathsf{\_.f64}\left(\mathsf{*.f64}\left(x2, -6\right), x1\right) \]
                                                                        10. Simplified70.6%

                                                                          \[\leadsto \color{blue}{x2 \cdot -6 - x1} \]
                                                                      3. Recombined 2 regimes into one program.
                                                                      4. Add Preprocessing

                                                                      Alternative 23: 51.7% accurate, 8.4× speedup?

                                                                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := x1 \cdot \left(x1 \cdot 9\right)\\ \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x1 \leq 2.4 \cdot 10^{-5}:\\ \;\;\;\;x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                                                                      (FPCore (x1 x2)
                                                                       :precision binary64
                                                                       (let* ((t_0 (* x1 (* x1 9.0))))
                                                                         (if (<= x1 -2e+14) t_0 (if (<= x1 2.4e-5) (* x2 -6.0) t_0))))
                                                                      double code(double x1, double x2) {
                                                                      	double t_0 = x1 * (x1 * 9.0);
                                                                      	double tmp;
                                                                      	if (x1 <= -2e+14) {
                                                                      		tmp = t_0;
                                                                      	} else if (x1 <= 2.4e-5) {
                                                                      		tmp = x2 * -6.0;
                                                                      	} else {
                                                                      		tmp = t_0;
                                                                      	}
                                                                      	return tmp;
                                                                      }
                                                                      
                                                                      real(8) function code(x1, x2)
                                                                          real(8), intent (in) :: x1
                                                                          real(8), intent (in) :: x2
                                                                          real(8) :: t_0
                                                                          real(8) :: tmp
                                                                          t_0 = x1 * (x1 * 9.0d0)
                                                                          if (x1 <= (-2d+14)) then
                                                                              tmp = t_0
                                                                          else if (x1 <= 2.4d-5) then
                                                                              tmp = x2 * (-6.0d0)
                                                                          else
                                                                              tmp = t_0
                                                                          end if
                                                                          code = tmp
                                                                      end function
                                                                      
                                                                      public static double code(double x1, double x2) {
                                                                      	double t_0 = x1 * (x1 * 9.0);
                                                                      	double tmp;
                                                                      	if (x1 <= -2e+14) {
                                                                      		tmp = t_0;
                                                                      	} else if (x1 <= 2.4e-5) {
                                                                      		tmp = x2 * -6.0;
                                                                      	} else {
                                                                      		tmp = t_0;
                                                                      	}
                                                                      	return tmp;
                                                                      }
                                                                      
                                                                      def code(x1, x2):
                                                                      	t_0 = x1 * (x1 * 9.0)
                                                                      	tmp = 0
                                                                      	if x1 <= -2e+14:
                                                                      		tmp = t_0
                                                                      	elif x1 <= 2.4e-5:
                                                                      		tmp = x2 * -6.0
                                                                      	else:
                                                                      		tmp = t_0
                                                                      	return tmp
                                                                      
                                                                      function code(x1, x2)
                                                                      	t_0 = Float64(x1 * Float64(x1 * 9.0))
                                                                      	tmp = 0.0
                                                                      	if (x1 <= -2e+14)
                                                                      		tmp = t_0;
                                                                      	elseif (x1 <= 2.4e-5)
                                                                      		tmp = Float64(x2 * -6.0);
                                                                      	else
                                                                      		tmp = t_0;
                                                                      	end
                                                                      	return tmp
                                                                      end
                                                                      
                                                                      function tmp_2 = code(x1, x2)
                                                                      	t_0 = x1 * (x1 * 9.0);
                                                                      	tmp = 0.0;
                                                                      	if (x1 <= -2e+14)
                                                                      		tmp = t_0;
                                                                      	elseif (x1 <= 2.4e-5)
                                                                      		tmp = x2 * -6.0;
                                                                      	else
                                                                      		tmp = t_0;
                                                                      	end
                                                                      	tmp_2 = tmp;
                                                                      end
                                                                      
                                                                      code[x1_, x2_] := Block[{t$95$0 = N[(x1 * N[(x1 * 9.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x1, -2e+14], t$95$0, If[LessEqual[x1, 2.4e-5], N[(x2 * -6.0), $MachinePrecision], t$95$0]]]
                                                                      
                                                                      \begin{array}{l}
                                                                      
                                                                      \\
                                                                      \begin{array}{l}
                                                                      t_0 := x1 \cdot \left(x1 \cdot 9\right)\\
                                                                      \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\
                                                                      \;\;\;\;t\_0\\
                                                                      
                                                                      \mathbf{elif}\;x1 \leq 2.4 \cdot 10^{-5}:\\
                                                                      \;\;\;\;x2 \cdot -6\\
                                                                      
                                                                      \mathbf{else}:\\
                                                                      \;\;\;\;t\_0\\
                                                                      
                                                                      
                                                                      \end{array}
                                                                      \end{array}
                                                                      
                                                                      Derivation
                                                                      1. Split input into 2 regimes
                                                                      2. if x1 < -2e14 or 2.4000000000000001e-5 < x1

                                                                        1. Initial program 37.3%

                                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                        2. Simplified37.4%

                                                                          \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                        3. Add Preprocessing
                                                                        4. Taylor expanded in x1 around 0

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(2 \cdot \left(x2 \cdot \left(4 \cdot x2 - 6\right)\right) + x1 \cdot \left(\left(-1 \cdot \left(4 \cdot x2 - 6\right) + \left(3 \cdot \left(3 - -2 \cdot x2\right) + \left(4 \cdot x2 + 6 \cdot x2\right)\right)\right) - 6\right)\right) - 1\right)} \]
                                                                        5. Simplified50.2%

                                                                          \[\leadsto \color{blue}{-6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \left(x1 \cdot \left(\left(\left(\left(9 + 3 \cdot \left(x2 \cdot 2\right)\right) + x2 \cdot 10\right) - \left(x2 \cdot 4 + -6\right)\right) + -6\right) + -1\right)\right)} \]
                                                                        6. Taylor expanded in x2 around 0

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \color{blue}{\left(9 \cdot x1 - 1\right)}\right)\right)\right) \]
                                                                        7. Step-by-step derivation
                                                                          1. sub-negN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right)\right)\right)\right) \]
                                                                          2. metadata-evalN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \left(9 \cdot x1 + -1\right)\right)\right)\right) \]
                                                                          3. +-lowering-+.f64N/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(9 \cdot x1\right), \color{blue}{-1}\right)\right)\right)\right) \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\left(x1 \cdot 9\right), -1\right)\right)\right)\right) \]
                                                                          5. *-lowering-*.f6457.6%

                                                                            \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(-6, x2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(x2, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, 4\right), -6\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 9\right), -1\right)\right)\right)\right) \]
                                                                        8. Simplified57.6%

                                                                          \[\leadsto -6 \cdot x2 + x1 \cdot \left(\left(x2 \cdot 2\right) \cdot \left(x2 \cdot 4 + -6\right) + \color{blue}{\left(x1 \cdot 9 + -1\right)}\right) \]
                                                                        9. Taylor expanded in x1 around inf

                                                                          \[\leadsto \color{blue}{9 \cdot {x1}^{2}} \]
                                                                        10. Step-by-step derivation
                                                                          1. *-commutativeN/A

                                                                            \[\leadsto {x1}^{2} \cdot \color{blue}{9} \]
                                                                          2. unpow2N/A

                                                                            \[\leadsto \left(x1 \cdot x1\right) \cdot 9 \]
                                                                          3. associate-*l*N/A

                                                                            \[\leadsto x1 \cdot \color{blue}{\left(x1 \cdot 9\right)} \]
                                                                          4. *-commutativeN/A

                                                                            \[\leadsto x1 \cdot \left(9 \cdot \color{blue}{x1}\right) \]
                                                                          5. *-lowering-*.f64N/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x1, \color{blue}{\left(9 \cdot x1\right)}\right) \]
                                                                          6. *-commutativeN/A

                                                                            \[\leadsto \mathsf{*.f64}\left(x1, \left(x1 \cdot \color{blue}{9}\right)\right) \]
                                                                          7. *-lowering-*.f6458.4%

                                                                            \[\leadsto \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x1, \color{blue}{9}\right)\right) \]
                                                                        11. Simplified58.4%

                                                                          \[\leadsto \color{blue}{x1 \cdot \left(x1 \cdot 9\right)} \]

                                                                        if -2e14 < x1 < 2.4000000000000001e-5

                                                                        1. Initial program 99.4%

                                                                          \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                        2. Add Preprocessing
                                                                        3. Taylor expanded in x1 around 0

                                                                          \[\leadsto \color{blue}{-6 \cdot x2} \]
                                                                        4. Step-by-step derivation
                                                                          1. *-lowering-*.f6451.9%

                                                                            \[\leadsto \mathsf{*.f64}\left(-6, \color{blue}{x2}\right) \]
                                                                        5. Simplified51.9%

                                                                          \[\leadsto \color{blue}{-6 \cdot x2} \]
                                                                      3. Recombined 2 regimes into one program.
                                                                      4. Final simplification55.4%

                                                                        \[\leadsto \begin{array}{l} \mathbf{if}\;x1 \leq -2 \cdot 10^{+14}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \mathbf{elif}\;x1 \leq 2.4 \cdot 10^{-5}:\\ \;\;\;\;x2 \cdot -6\\ \mathbf{else}:\\ \;\;\;\;x1 \cdot \left(x1 \cdot 9\right)\\ \end{array} \]
                                                                      5. Add Preprocessing

                                                                      Alternative 24: 26.6% accurate, 42.3× speedup?

                                                                      \[\begin{array}{l} \\ x2 \cdot -6 \end{array} \]
                                                                      (FPCore (x1 x2) :precision binary64 (* x2 -6.0))
                                                                      double code(double x1, double x2) {
                                                                      	return x2 * -6.0;
                                                                      }
                                                                      
                                                                      real(8) function code(x1, x2)
                                                                          real(8), intent (in) :: x1
                                                                          real(8), intent (in) :: x2
                                                                          code = x2 * (-6.0d0)
                                                                      end function
                                                                      
                                                                      public static double code(double x1, double x2) {
                                                                      	return x2 * -6.0;
                                                                      }
                                                                      
                                                                      def code(x1, x2):
                                                                      	return x2 * -6.0
                                                                      
                                                                      function code(x1, x2)
                                                                      	return Float64(x2 * -6.0)
                                                                      end
                                                                      
                                                                      function tmp = code(x1, x2)
                                                                      	tmp = x2 * -6.0;
                                                                      end
                                                                      
                                                                      code[x1_, x2_] := N[(x2 * -6.0), $MachinePrecision]
                                                                      
                                                                      \begin{array}{l}
                                                                      
                                                                      \\
                                                                      x2 \cdot -6
                                                                      \end{array}
                                                                      
                                                                      Derivation
                                                                      1. Initial program 66.4%

                                                                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                      2. Add Preprocessing
                                                                      3. Taylor expanded in x1 around 0

                                                                        \[\leadsto \color{blue}{-6 \cdot x2} \]
                                                                      4. Step-by-step derivation
                                                                        1. *-lowering-*.f6425.6%

                                                                          \[\leadsto \mathsf{*.f64}\left(-6, \color{blue}{x2}\right) \]
                                                                      5. Simplified25.6%

                                                                        \[\leadsto \color{blue}{-6 \cdot x2} \]
                                                                      6. Final simplification25.6%

                                                                        \[\leadsto x2 \cdot -6 \]
                                                                      7. Add Preprocessing

                                                                      Alternative 25: 3.5% accurate, 127.0× speedup?

                                                                      \[\begin{array}{l} \\ 9 \end{array} \]
                                                                      (FPCore (x1 x2) :precision binary64 9.0)
                                                                      double code(double x1, double x2) {
                                                                      	return 9.0;
                                                                      }
                                                                      
                                                                      real(8) function code(x1, x2)
                                                                          real(8), intent (in) :: x1
                                                                          real(8), intent (in) :: x2
                                                                          code = 9.0d0
                                                                      end function
                                                                      
                                                                      public static double code(double x1, double x2) {
                                                                      	return 9.0;
                                                                      }
                                                                      
                                                                      def code(x1, x2):
                                                                      	return 9.0
                                                                      
                                                                      function code(x1, x2)
                                                                      	return 9.0
                                                                      end
                                                                      
                                                                      function tmp = code(x1, x2)
                                                                      	tmp = 9.0;
                                                                      end
                                                                      
                                                                      code[x1_, x2_] := 9.0
                                                                      
                                                                      \begin{array}{l}
                                                                      
                                                                      \\
                                                                      9
                                                                      \end{array}
                                                                      
                                                                      Derivation
                                                                      1. Initial program 66.4%

                                                                        \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \]
                                                                      2. Simplified66.5%

                                                                        \[\leadsto \color{blue}{\frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(x1 \cdot \left(x1 \cdot -6\right) + \frac{2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(-6 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{2}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + x1 \cdot \left(2 + x1 \cdot \left(x1 + \left(2 \cdot x2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right) \cdot \frac{3}{x1 \cdot x1 + 1}\right)\right)\right)} \]
                                                                      3. Add Preprocessing
                                                                      4. Taylor expanded in x2 around inf

                                                                        \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \color{blue}{\left(8 \cdot \frac{x1 \cdot {x2}^{2}}{1 + {x1}^{2}}\right)}\right) \]
                                                                      5. Step-by-step derivation
                                                                        1. associate-*r/N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \left(\frac{8 \cdot \left(x1 \cdot {x2}^{2}\right)}{\color{blue}{1 + {x1}^{2}}}\right)\right) \]
                                                                        2. /-lowering-/.f64N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\left(8 \cdot \left(x1 \cdot {x2}^{2}\right)\right), \color{blue}{\left(1 + {x1}^{2}\right)}\right)\right) \]
                                                                        3. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \left(x1 \cdot {x2}^{2}\right)\right), \left(\color{blue}{1} + {x1}^{2}\right)\right)\right) \]
                                                                        4. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \left({x2}^{2}\right)\right)\right), \left(1 + {x1}^{2}\right)\right)\right) \]
                                                                        5. unpow2N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \left(x2 \cdot x2\right)\right)\right), \left(1 + {x1}^{2}\right)\right)\right) \]
                                                                        6. *-lowering-*.f64N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, x2\right)\right)\right), \left(1 + {x1}^{2}\right)\right)\right) \]
                                                                        7. +-lowering-+.f64N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, x2\right)\right)\right), \mathsf{+.f64}\left(1, \color{blue}{\left({x1}^{2}\right)}\right)\right)\right) \]
                                                                        8. unpow2N/A

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, x2\right)\right)\right), \mathsf{+.f64}\left(1, \left(x1 \cdot \color{blue}{x1}\right)\right)\right)\right) \]
                                                                        9. *-lowering-*.f6440.3%

                                                                          \[\leadsto \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(3, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x2, -2\right), \mathsf{*.f64}\left(x1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, 3\right), -1\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(x1, x1\right), 1\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(8, \mathsf{*.f64}\left(x1, \mathsf{*.f64}\left(x2, x2\right)\right)\right), \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(x1, \color{blue}{x1}\right)\right)\right)\right) \]
                                                                      6. Simplified40.3%

                                                                        \[\leadsto \frac{3 \cdot \left(x2 \cdot -2 + x1 \cdot \left(x1 \cdot 3 + -1\right)\right)}{x1 \cdot x1 + 1} + \color{blue}{\frac{8 \cdot \left(x1 \cdot \left(x2 \cdot x2\right)\right)}{1 + x1 \cdot x1}} \]
                                                                      7. Taylor expanded in x1 around inf

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

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

                                                                        Reproduce

                                                                        ?
                                                                        herbie shell --seed 2024152 
                                                                        (FPCore (x1 x2)
                                                                          :name "Rosa's FloatVsDoubleBenchmark"
                                                                          :precision binary64
                                                                          (+ x1 (+ (+ (+ (+ (* (+ (* (* (* 2.0 x1) (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0)) (* (* x1 x1) (- (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0))) (+ (* x1 x1) 1.0)) (* (* (* 3.0 x1) x1) (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* (* x1 x1) x1)) x1) (* 3.0 (/ (- (- (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))))))