Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, A

Percentage Accurate: 68.9% → 99.8%
Time: 10.8s
Alternatives: 12
Speedup: 1.6×

Specification

?
\[\begin{array}{l} \\ \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \end{array} \]
(FPCore (x y)
 :precision binary64
 (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1.0))))
double code(double x, double y) {
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0d0))
end function
public static double code(double x, double y) {
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
}
def code(x, y):
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0))
function code(x, y)
	return Float64(Float64(x * y) / Float64(Float64(Float64(x + y) * Float64(x + y)) * Float64(Float64(x + y) + 1.0)))
end
function tmp = code(x, y)
	tmp = (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
end
code[x_, y_] := N[(N[(x * y), $MachinePrecision] / N[(N[(N[(x + y), $MachinePrecision] * N[(x + y), $MachinePrecision]), $MachinePrecision] * N[(N[(x + y), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}
\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 12 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: 68.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \end{array} \]
(FPCore (x y)
 :precision binary64
 (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1.0))))
double code(double x, double y) {
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0d0))
end function
public static double code(double x, double y) {
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
}
def code(x, y):
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0))
function code(x, y)
	return Float64(Float64(x * y) / Float64(Float64(Float64(x + y) * Float64(x + y)) * Float64(Float64(x + y) + 1.0)))
end
function tmp = code(x, y)
	tmp = (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
end
code[x_, y_] := N[(N[(x * y), $MachinePrecision] / N[(N[(N[(x + y), $MachinePrecision] * N[(x + y), $MachinePrecision]), $MachinePrecision] * N[(N[(x + y), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}
\end{array}

Alternative 1: 99.8% accurate, 0.8× speedup?

\[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \frac{\frac{y}{1 + \left(y + x\right)}}{y + x} \cdot \frac{x}{y + x} \end{array} \]
NOTE: x and y should be sorted in increasing order before calling this function.
(FPCore (x y)
 :precision binary64
 (* (/ (/ y (+ 1.0 (+ y x))) (+ y x)) (/ x (+ y x))))
assert(x < y);
double code(double x, double y) {
	return ((y / (1.0 + (y + x))) / (y + x)) * (x / (y + x));
}
NOTE: x and y should be sorted in increasing order before calling this function.
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = ((y / (1.0d0 + (y + x))) / (y + x)) * (x / (y + x))
end function
assert x < y;
public static double code(double x, double y) {
	return ((y / (1.0 + (y + x))) / (y + x)) * (x / (y + x));
}
[x, y] = sort([x, y])
def code(x, y):
	return ((y / (1.0 + (y + x))) / (y + x)) * (x / (y + x))
x, y = sort([x, y])
function code(x, y)
	return Float64(Float64(Float64(y / Float64(1.0 + Float64(y + x))) / Float64(y + x)) * Float64(x / Float64(y + x)))
end
x, y = num2cell(sort([x, y])){:}
function tmp = code(x, y)
	tmp = ((y / (1.0 + (y + x))) / (y + x)) * (x / (y + x));
end
NOTE: x and y should be sorted in increasing order before calling this function.
code[x_, y_] := N[(N[(N[(y / N[(1.0 + N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(y + x), $MachinePrecision]), $MachinePrecision] * N[(x / N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
[x, y] = \mathsf{sort}([x, y])\\
\\
\frac{\frac{y}{1 + \left(y + x\right)}}{y + x} \cdot \frac{x}{y + x}
\end{array}
Derivation
  1. Initial program 73.0%

    \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
    3. lift-*.f64N/A

      \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
    4. times-fracN/A

      \[\leadsto \color{blue}{\frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \frac{y}{\left(x + y\right) + 1}} \]
    5. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{x \cdot \frac{y}{\left(x + y\right) + 1}}{\left(x + y\right) \cdot \left(x + y\right)}} \]
    6. lift-*.f64N/A

      \[\leadsto \frac{x \cdot \frac{y}{\left(x + y\right) + 1}}{\color{blue}{\left(x + y\right) \cdot \left(x + y\right)}} \]
    7. times-fracN/A

      \[\leadsto \color{blue}{\frac{x}{x + y} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y}} \]
    8. lower-*.f64N/A

      \[\leadsto \color{blue}{\frac{x}{x + y} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y}} \]
    9. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{x}{x + y}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
    10. lift-+.f64N/A

      \[\leadsto \frac{x}{\color{blue}{x + y}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
    11. +-commutativeN/A

      \[\leadsto \frac{x}{\color{blue}{y + x}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
    12. lower-+.f64N/A

      \[\leadsto \frac{x}{\color{blue}{y + x}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
    13. lower-/.f64N/A

      \[\leadsto \frac{x}{y + x} \cdot \color{blue}{\frac{\frac{y}{\left(x + y\right) + 1}}{x + y}} \]
    14. lower-/.f6499.8

      \[\leadsto \frac{x}{y + x} \cdot \frac{\color{blue}{\frac{y}{\left(x + y\right) + 1}}}{x + y} \]
    15. lift-+.f64N/A

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{\color{blue}{\left(x + y\right) + 1}}}{x + y} \]
    16. +-commutativeN/A

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{\color{blue}{1 + \left(x + y\right)}}}{x + y} \]
    17. lower-+.f6499.8

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{\color{blue}{1 + \left(x + y\right)}}}{x + y} \]
    18. lift-+.f64N/A

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \color{blue}{\left(x + y\right)}}}{x + y} \]
    19. +-commutativeN/A

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \color{blue}{\left(y + x\right)}}}{x + y} \]
    20. lower-+.f6499.8

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \color{blue}{\left(y + x\right)}}}{x + y} \]
    21. lift-+.f64N/A

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{\color{blue}{x + y}} \]
    22. +-commutativeN/A

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{\color{blue}{y + x}} \]
    23. lower-+.f6499.8

      \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{\color{blue}{y + x}} \]
  4. Applied rewrites99.8%

    \[\leadsto \color{blue}{\frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{y + x}} \]
  5. Final simplification99.8%

    \[\leadsto \frac{\frac{y}{1 + \left(y + x\right)}}{y + x} \cdot \frac{x}{y + x} \]
  6. Add Preprocessing

Alternative 2: 93.3% accurate, 0.7× speedup?

\[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -1.7 \cdot 10^{-11}:\\ \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\left(1 + y\right) \cdot \left(y + x\right)} \cdot \frac{y}{y + x}\\ \end{array} \end{array} \]
NOTE: x and y should be sorted in increasing order before calling this function.
(FPCore (x y)
 :precision binary64
 (if (<= x -2.45e+162)
   (/ (/ y x) x)
   (if (<= x -1.7e-11)
     (* 1.0 (/ y (* (+ 1.0 (+ y x)) (+ y x))))
     (* (/ x (* (+ 1.0 y) (+ y x))) (/ y (+ y x))))))
assert(x < y);
double code(double x, double y) {
	double tmp;
	if (x <= -2.45e+162) {
		tmp = (y / x) / x;
	} else if (x <= -1.7e-11) {
		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
	} else {
		tmp = (x / ((1.0 + y) * (y + x))) * (y / (y + x));
	}
	return tmp;
}
NOTE: x and y should be sorted in increasing order before calling this function.
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8) :: tmp
    if (x <= (-2.45d+162)) then
        tmp = (y / x) / x
    else if (x <= (-1.7d-11)) then
        tmp = 1.0d0 * (y / ((1.0d0 + (y + x)) * (y + x)))
    else
        tmp = (x / ((1.0d0 + y) * (y + x))) * (y / (y + x))
    end if
    code = tmp
end function
assert x < y;
public static double code(double x, double y) {
	double tmp;
	if (x <= -2.45e+162) {
		tmp = (y / x) / x;
	} else if (x <= -1.7e-11) {
		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
	} else {
		tmp = (x / ((1.0 + y) * (y + x))) * (y / (y + x));
	}
	return tmp;
}
[x, y] = sort([x, y])
def code(x, y):
	tmp = 0
	if x <= -2.45e+162:
		tmp = (y / x) / x
	elif x <= -1.7e-11:
		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)))
	else:
		tmp = (x / ((1.0 + y) * (y + x))) * (y / (y + x))
	return tmp
x, y = sort([x, y])
function code(x, y)
	tmp = 0.0
	if (x <= -2.45e+162)
		tmp = Float64(Float64(y / x) / x);
	elseif (x <= -1.7e-11)
		tmp = Float64(1.0 * Float64(y / Float64(Float64(1.0 + Float64(y + x)) * Float64(y + x))));
	else
		tmp = Float64(Float64(x / Float64(Float64(1.0 + y) * Float64(y + x))) * Float64(y / Float64(y + x)));
	end
	return tmp
end
x, y = num2cell(sort([x, y])){:}
function tmp_2 = code(x, y)
	tmp = 0.0;
	if (x <= -2.45e+162)
		tmp = (y / x) / x;
	elseif (x <= -1.7e-11)
		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
	else
		tmp = (x / ((1.0 + y) * (y + x))) * (y / (y + x));
	end
	tmp_2 = tmp;
end
NOTE: x and y should be sorted in increasing order before calling this function.
code[x_, y_] := If[LessEqual[x, -2.45e+162], N[(N[(y / x), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[x, -1.7e-11], N[(1.0 * N[(y / N[(N[(1.0 + N[(y + x), $MachinePrecision]), $MachinePrecision] * N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(N[(1.0 + y), $MachinePrecision] * N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y / N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
[x, y] = \mathsf{sort}([x, y])\\
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\
\;\;\;\;\frac{\frac{y}{x}}{x}\\

\mathbf{elif}\;x \leq -1.7 \cdot 10^{-11}:\\
\;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(1 + y\right) \cdot \left(y + x\right)} \cdot \frac{y}{y + x}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if x < -2.45000000000000017e162

    1. Initial program 58.6%

      \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
      4. *-commutativeN/A

        \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      5. lower-fma.f64N/A

        \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
      6. lift-+.f64N/A

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      7. +-commutativeN/A

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      8. lower-+.f64N/A

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      9. *-commutativeN/A

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      10. lower-*.f6458.6

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      11. lift-+.f64N/A

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      12. +-commutativeN/A

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      13. lower-+.f6458.6

        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
    4. Applied rewrites58.6%

      \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
    5. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
      2. unpow2N/A

        \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
      3. lower-*.f6485.5

        \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
    7. Applied rewrites85.5%

      \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]
    8. Step-by-step derivation
      1. Applied rewrites96.2%

        \[\leadsto \frac{\frac{y}{x}}{\color{blue}{x}} \]

      if -2.45000000000000017e162 < x < -1.6999999999999999e-11

      1. Initial program 60.4%

        \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
      2. Add Preprocessing
      3. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
        2. lift-*.f64N/A

          \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
        3. *-commutativeN/A

          \[\leadsto \frac{\color{blue}{y \cdot x}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
        4. lift-*.f64N/A

          \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
        5. lift-*.f64N/A

          \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
        6. associate-*l*N/A

          \[\leadsto \frac{y \cdot x}{\color{blue}{\left(x + y\right) \cdot \left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right)}} \]
        7. *-commutativeN/A

          \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right) \cdot \left(x + y\right)}} \]
        8. times-fracN/A

          \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
        9. lower-*.f64N/A

          \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
        10. lower-/.f64N/A

          \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)}} \cdot \frac{x}{x + y} \]
        11. *-commutativeN/A

          \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
        12. lower-*.f64N/A

          \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
        13. lift-+.f64N/A

          \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
        14. +-commutativeN/A

          \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
        15. lower-+.f64N/A

          \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
        16. lift-+.f64N/A

          \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(x + y\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
        17. +-commutativeN/A

          \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
        18. lower-+.f64N/A

          \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
        19. lift-+.f64N/A

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(x + y\right)}} \cdot \frac{x}{x + y} \]
        20. +-commutativeN/A

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
        21. lower-+.f64N/A

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
        22. lower-/.f6495.0

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{\frac{x}{x + y}} \]
        23. lift-+.f64N/A

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{x + y}} \]
        24. +-commutativeN/A

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{y + x}} \]
      4. Applied rewrites95.0%

        \[\leadsto \color{blue}{\frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{y + x}} \]
      5. Taylor expanded in y around 0

        \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{1} \]
      6. Step-by-step derivation
        1. Applied rewrites81.7%

          \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{1} \]

        if -1.6999999999999999e-11 < x

        1. Initial program 76.8%

          \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
        2. Add Preprocessing
        3. Taylor expanded in x around 0

          \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \color{blue}{\left(1 + y\right)}} \]
        4. Step-by-step derivation
          1. lower-+.f6471.7

            \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \color{blue}{\left(1 + y\right)}} \]
        5. Applied rewrites71.7%

          \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \color{blue}{\left(1 + y\right)}} \]
        6. Step-by-step derivation
          1. lift-/.f64N/A

            \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(1 + y\right)}} \]
          2. lift-*.f64N/A

            \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(1 + y\right)} \]
          3. *-commutativeN/A

            \[\leadsto \frac{\color{blue}{y \cdot x}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(1 + y\right)} \]
          4. lift-*.f64N/A

            \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(1 + y\right)}} \]
          5. lift-*.f64N/A

            \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(1 + y\right)} \]
          6. associate-*l*N/A

            \[\leadsto \frac{y \cdot x}{\color{blue}{\left(x + y\right) \cdot \left(\left(x + y\right) \cdot \left(1 + y\right)\right)}} \]
          7. times-fracN/A

            \[\leadsto \color{blue}{\frac{y}{x + y} \cdot \frac{x}{\left(x + y\right) \cdot \left(1 + y\right)}} \]
          8. lower-*.f64N/A

            \[\leadsto \color{blue}{\frac{y}{x + y} \cdot \frac{x}{\left(x + y\right) \cdot \left(1 + y\right)}} \]
          9. lower-/.f64N/A

            \[\leadsto \color{blue}{\frac{y}{x + y}} \cdot \frac{x}{\left(x + y\right) \cdot \left(1 + y\right)} \]
          10. lift-+.f64N/A

            \[\leadsto \frac{y}{\color{blue}{x + y}} \cdot \frac{x}{\left(x + y\right) \cdot \left(1 + y\right)} \]
          11. +-commutativeN/A

            \[\leadsto \frac{y}{\color{blue}{y + x}} \cdot \frac{x}{\left(x + y\right) \cdot \left(1 + y\right)} \]
          12. lift-+.f64N/A

            \[\leadsto \frac{y}{\color{blue}{y + x}} \cdot \frac{x}{\left(x + y\right) \cdot \left(1 + y\right)} \]
          13. lower-/.f64N/A

            \[\leadsto \frac{y}{y + x} \cdot \color{blue}{\frac{x}{\left(x + y\right) \cdot \left(1 + y\right)}} \]
          14. *-commutativeN/A

            \[\leadsto \frac{y}{y + x} \cdot \frac{x}{\color{blue}{\left(1 + y\right) \cdot \left(x + y\right)}} \]
          15. lower-*.f6486.8

            \[\leadsto \frac{y}{y + x} \cdot \frac{x}{\color{blue}{\left(1 + y\right) \cdot \left(x + y\right)}} \]
          16. lift-+.f64N/A

            \[\leadsto \frac{y}{y + x} \cdot \frac{x}{\left(1 + y\right) \cdot \color{blue}{\left(x + y\right)}} \]
          17. +-commutativeN/A

            \[\leadsto \frac{y}{y + x} \cdot \frac{x}{\left(1 + y\right) \cdot \color{blue}{\left(y + x\right)}} \]
          18. lift-+.f6486.8

            \[\leadsto \frac{y}{y + x} \cdot \frac{x}{\left(1 + y\right) \cdot \color{blue}{\left(y + x\right)}} \]
        7. Applied rewrites86.8%

          \[\leadsto \color{blue}{\frac{y}{y + x} \cdot \frac{x}{\left(1 + y\right) \cdot \left(y + x\right)}} \]
      7. Recombined 3 regimes into one program.
      8. Final simplification87.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -1.7 \cdot 10^{-11}:\\ \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\left(1 + y\right) \cdot \left(y + x\right)} \cdot \frac{y}{y + x}\\ \end{array} \]
      9. Add Preprocessing

      Alternative 3: 95.3% accurate, 0.8× speedup?

      \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{y + x}\\ \end{array} \end{array} \]
      NOTE: x and y should be sorted in increasing order before calling this function.
      (FPCore (x y)
       :precision binary64
       (if (<= x -2.45e+162)
         (/ (/ y x) x)
         (* (/ y (* (+ 1.0 (+ y x)) (+ y x))) (/ x (+ y x)))))
      assert(x < y);
      double code(double x, double y) {
      	double tmp;
      	if (x <= -2.45e+162) {
      		tmp = (y / x) / x;
      	} else {
      		tmp = (y / ((1.0 + (y + x)) * (y + x))) * (x / (y + x));
      	}
      	return tmp;
      }
      
      NOTE: x and y should be sorted in increasing order before calling this function.
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= (-2.45d+162)) then
              tmp = (y / x) / x
          else
              tmp = (y / ((1.0d0 + (y + x)) * (y + x))) * (x / (y + x))
          end if
          code = tmp
      end function
      
      assert x < y;
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= -2.45e+162) {
      		tmp = (y / x) / x;
      	} else {
      		tmp = (y / ((1.0 + (y + x)) * (y + x))) * (x / (y + x));
      	}
      	return tmp;
      }
      
      [x, y] = sort([x, y])
      def code(x, y):
      	tmp = 0
      	if x <= -2.45e+162:
      		tmp = (y / x) / x
      	else:
      		tmp = (y / ((1.0 + (y + x)) * (y + x))) * (x / (y + x))
      	return tmp
      
      x, y = sort([x, y])
      function code(x, y)
      	tmp = 0.0
      	if (x <= -2.45e+162)
      		tmp = Float64(Float64(y / x) / x);
      	else
      		tmp = Float64(Float64(y / Float64(Float64(1.0 + Float64(y + x)) * Float64(y + x))) * Float64(x / Float64(y + x)));
      	end
      	return tmp
      end
      
      x, y = num2cell(sort([x, y])){:}
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= -2.45e+162)
      		tmp = (y / x) / x;
      	else
      		tmp = (y / ((1.0 + (y + x)) * (y + x))) * (x / (y + x));
      	end
      	tmp_2 = tmp;
      end
      
      NOTE: x and y should be sorted in increasing order before calling this function.
      code[x_, y_] := If[LessEqual[x, -2.45e+162], N[(N[(y / x), $MachinePrecision] / x), $MachinePrecision], N[(N[(y / N[(N[(1.0 + N[(y + x), $MachinePrecision]), $MachinePrecision] * N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(x / N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      [x, y] = \mathsf{sort}([x, y])\\
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\
      \;\;\;\;\frac{\frac{y}{x}}{x}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{y + x}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < -2.45000000000000017e162

        1. Initial program 58.6%

          \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
          2. lift-+.f64N/A

            \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          3. distribute-rgt-inN/A

            \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
          4. *-commutativeN/A

            \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          5. lower-fma.f64N/A

            \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
          6. lift-+.f64N/A

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          7. +-commutativeN/A

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          8. lower-+.f64N/A

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          9. *-commutativeN/A

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          10. lower-*.f6458.6

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          11. lift-+.f64N/A

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          12. +-commutativeN/A

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          13. lower-+.f6458.6

            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
        4. Applied rewrites58.6%

          \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
        5. Taylor expanded in x around inf

          \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
        6. Step-by-step derivation
          1. lower-/.f64N/A

            \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
          2. unpow2N/A

            \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
          3. lower-*.f6485.5

            \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
        7. Applied rewrites85.5%

          \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]
        8. Step-by-step derivation
          1. Applied rewrites96.2%

            \[\leadsto \frac{\frac{y}{x}}{\color{blue}{x}} \]

          if -2.45000000000000017e162 < x

          1. Initial program 74.5%

            \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. lift-/.f64N/A

              \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
            2. lift-*.f64N/A

              \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            3. *-commutativeN/A

              \[\leadsto \frac{\color{blue}{y \cdot x}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            4. lift-*.f64N/A

              \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
            5. lift-*.f64N/A

              \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
            6. associate-*l*N/A

              \[\leadsto \frac{y \cdot x}{\color{blue}{\left(x + y\right) \cdot \left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right)}} \]
            7. *-commutativeN/A

              \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right) \cdot \left(x + y\right)}} \]
            8. times-fracN/A

              \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
            9. lower-*.f64N/A

              \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
            10. lower-/.f64N/A

              \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)}} \cdot \frac{x}{x + y} \]
            11. *-commutativeN/A

              \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
            12. lower-*.f64N/A

              \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
            13. lift-+.f64N/A

              \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
            14. +-commutativeN/A

              \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
            15. lower-+.f64N/A

              \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
            16. lift-+.f64N/A

              \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(x + y\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
            17. +-commutativeN/A

              \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
            18. lower-+.f64N/A

              \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
            19. lift-+.f64N/A

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(x + y\right)}} \cdot \frac{x}{x + y} \]
            20. +-commutativeN/A

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
            21. lower-+.f64N/A

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
            22. lower-/.f6497.2

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{\frac{x}{x + y}} \]
            23. lift-+.f64N/A

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{x + y}} \]
            24. +-commutativeN/A

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{y + x}} \]
          4. Applied rewrites97.2%

            \[\leadsto \color{blue}{\frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{y + x}} \]
        9. Recombined 2 regimes into one program.
        10. Add Preprocessing

        Alternative 4: 86.5% accurate, 0.8× speedup?

        \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -6 \cdot 10^{-192}:\\ \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{1 + y} \cdot \frac{x}{y + x}\\ \end{array} \end{array} \]
        NOTE: x and y should be sorted in increasing order before calling this function.
        (FPCore (x y)
         :precision binary64
         (if (<= x -2.45e+162)
           (/ (/ y x) x)
           (if (<= x -6e-192)
             (* 1.0 (/ y (* (+ 1.0 (+ y x)) (+ y x))))
             (* (/ 1.0 (+ 1.0 y)) (/ x (+ y x))))))
        assert(x < y);
        double code(double x, double y) {
        	double tmp;
        	if (x <= -2.45e+162) {
        		tmp = (y / x) / x;
        	} else if (x <= -6e-192) {
        		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
        	} else {
        		tmp = (1.0 / (1.0 + y)) * (x / (y + x));
        	}
        	return tmp;
        }
        
        NOTE: x and y should be sorted in increasing order before calling this function.
        real(8) function code(x, y)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8) :: tmp
            if (x <= (-2.45d+162)) then
                tmp = (y / x) / x
            else if (x <= (-6d-192)) then
                tmp = 1.0d0 * (y / ((1.0d0 + (y + x)) * (y + x)))
            else
                tmp = (1.0d0 / (1.0d0 + y)) * (x / (y + x))
            end if
            code = tmp
        end function
        
        assert x < y;
        public static double code(double x, double y) {
        	double tmp;
        	if (x <= -2.45e+162) {
        		tmp = (y / x) / x;
        	} else if (x <= -6e-192) {
        		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
        	} else {
        		tmp = (1.0 / (1.0 + y)) * (x / (y + x));
        	}
        	return tmp;
        }
        
        [x, y] = sort([x, y])
        def code(x, y):
        	tmp = 0
        	if x <= -2.45e+162:
        		tmp = (y / x) / x
        	elif x <= -6e-192:
        		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)))
        	else:
        		tmp = (1.0 / (1.0 + y)) * (x / (y + x))
        	return tmp
        
        x, y = sort([x, y])
        function code(x, y)
        	tmp = 0.0
        	if (x <= -2.45e+162)
        		tmp = Float64(Float64(y / x) / x);
        	elseif (x <= -6e-192)
        		tmp = Float64(1.0 * Float64(y / Float64(Float64(1.0 + Float64(y + x)) * Float64(y + x))));
        	else
        		tmp = Float64(Float64(1.0 / Float64(1.0 + y)) * Float64(x / Float64(y + x)));
        	end
        	return tmp
        end
        
        x, y = num2cell(sort([x, y])){:}
        function tmp_2 = code(x, y)
        	tmp = 0.0;
        	if (x <= -2.45e+162)
        		tmp = (y / x) / x;
        	elseif (x <= -6e-192)
        		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
        	else
        		tmp = (1.0 / (1.0 + y)) * (x / (y + x));
        	end
        	tmp_2 = tmp;
        end
        
        NOTE: x and y should be sorted in increasing order before calling this function.
        code[x_, y_] := If[LessEqual[x, -2.45e+162], N[(N[(y / x), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[x, -6e-192], N[(1.0 * N[(y / N[(N[(1.0 + N[(y + x), $MachinePrecision]), $MachinePrecision] * N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(1.0 / N[(1.0 + y), $MachinePrecision]), $MachinePrecision] * N[(x / N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
        
        \begin{array}{l}
        [x, y] = \mathsf{sort}([x, y])\\
        \\
        \begin{array}{l}
        \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\
        \;\;\;\;\frac{\frac{y}{x}}{x}\\
        
        \mathbf{elif}\;x \leq -6 \cdot 10^{-192}:\\
        \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{1}{1 + y} \cdot \frac{x}{y + x}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if x < -2.45000000000000017e162

          1. Initial program 58.6%

            \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. lift-*.f64N/A

              \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
            2. lift-+.f64N/A

              \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            3. distribute-rgt-inN/A

              \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
            4. *-commutativeN/A

              \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            5. lower-fma.f64N/A

              \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
            6. lift-+.f64N/A

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            7. +-commutativeN/A

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            8. lower-+.f64N/A

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            9. *-commutativeN/A

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            10. lower-*.f6458.6

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            11. lift-+.f64N/A

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            12. +-commutativeN/A

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            13. lower-+.f6458.6

              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
          4. Applied rewrites58.6%

            \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
          5. Taylor expanded in x around inf

            \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
          6. Step-by-step derivation
            1. lower-/.f64N/A

              \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
            2. unpow2N/A

              \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
            3. lower-*.f6485.5

              \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
          7. Applied rewrites85.5%

            \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]
          8. Step-by-step derivation
            1. Applied rewrites96.2%

              \[\leadsto \frac{\frac{y}{x}}{\color{blue}{x}} \]

            if -2.45000000000000017e162 < x < -5.9999999999999998e-192

            1. Initial program 75.1%

              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
            2. Add Preprocessing
            3. Step-by-step derivation
              1. lift-/.f64N/A

                \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
              2. lift-*.f64N/A

                \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
              3. *-commutativeN/A

                \[\leadsto \frac{\color{blue}{y \cdot x}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
              4. lift-*.f64N/A

                \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
              5. lift-*.f64N/A

                \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
              6. associate-*l*N/A

                \[\leadsto \frac{y \cdot x}{\color{blue}{\left(x + y\right) \cdot \left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right)}} \]
              7. *-commutativeN/A

                \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right) \cdot \left(x + y\right)}} \]
              8. times-fracN/A

                \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
              9. lower-*.f64N/A

                \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
              10. lower-/.f64N/A

                \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)}} \cdot \frac{x}{x + y} \]
              11. *-commutativeN/A

                \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
              12. lower-*.f64N/A

                \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
              13. lift-+.f64N/A

                \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
              14. +-commutativeN/A

                \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
              15. lower-+.f64N/A

                \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
              16. lift-+.f64N/A

                \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(x + y\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
              17. +-commutativeN/A

                \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
              18. lower-+.f64N/A

                \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
              19. lift-+.f64N/A

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(x + y\right)}} \cdot \frac{x}{x + y} \]
              20. +-commutativeN/A

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
              21. lower-+.f64N/A

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
              22. lower-/.f6497.6

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{\frac{x}{x + y}} \]
              23. lift-+.f64N/A

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{x + y}} \]
              24. +-commutativeN/A

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{y + x}} \]
            4. Applied rewrites97.6%

              \[\leadsto \color{blue}{\frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{y + x}} \]
            5. Taylor expanded in y around 0

              \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{1} \]
            6. Step-by-step derivation
              1. Applied rewrites73.9%

                \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{1} \]

              if -5.9999999999999998e-192 < x

              1. Initial program 74.3%

                \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. lift-/.f64N/A

                  \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
                2. lift-*.f64N/A

                  \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                3. lift-*.f64N/A

                  \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
                4. times-fracN/A

                  \[\leadsto \color{blue}{\frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \frac{y}{\left(x + y\right) + 1}} \]
                5. associate-*l/N/A

                  \[\leadsto \color{blue}{\frac{x \cdot \frac{y}{\left(x + y\right) + 1}}{\left(x + y\right) \cdot \left(x + y\right)}} \]
                6. lift-*.f64N/A

                  \[\leadsto \frac{x \cdot \frac{y}{\left(x + y\right) + 1}}{\color{blue}{\left(x + y\right) \cdot \left(x + y\right)}} \]
                7. times-fracN/A

                  \[\leadsto \color{blue}{\frac{x}{x + y} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y}} \]
                8. lower-*.f64N/A

                  \[\leadsto \color{blue}{\frac{x}{x + y} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y}} \]
                9. lower-/.f64N/A

                  \[\leadsto \color{blue}{\frac{x}{x + y}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
                10. lift-+.f64N/A

                  \[\leadsto \frac{x}{\color{blue}{x + y}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
                11. +-commutativeN/A

                  \[\leadsto \frac{x}{\color{blue}{y + x}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
                12. lower-+.f64N/A

                  \[\leadsto \frac{x}{\color{blue}{y + x}} \cdot \frac{\frac{y}{\left(x + y\right) + 1}}{x + y} \]
                13. lower-/.f64N/A

                  \[\leadsto \frac{x}{y + x} \cdot \color{blue}{\frac{\frac{y}{\left(x + y\right) + 1}}{x + y}} \]
                14. lower-/.f6499.8

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\color{blue}{\frac{y}{\left(x + y\right) + 1}}}{x + y} \]
                15. lift-+.f64N/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{\color{blue}{\left(x + y\right) + 1}}}{x + y} \]
                16. +-commutativeN/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{\color{blue}{1 + \left(x + y\right)}}}{x + y} \]
                17. lower-+.f6499.8

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{\color{blue}{1 + \left(x + y\right)}}}{x + y} \]
                18. lift-+.f64N/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \color{blue}{\left(x + y\right)}}}{x + y} \]
                19. +-commutativeN/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \color{blue}{\left(y + x\right)}}}{x + y} \]
                20. lower-+.f6499.8

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \color{blue}{\left(y + x\right)}}}{x + y} \]
                21. lift-+.f64N/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{\color{blue}{x + y}} \]
                22. +-commutativeN/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{\color{blue}{y + x}} \]
                23. lower-+.f6499.8

                  \[\leadsto \frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{\color{blue}{y + x}} \]
              4. Applied rewrites99.8%

                \[\leadsto \color{blue}{\frac{x}{y + x} \cdot \frac{\frac{y}{1 + \left(y + x\right)}}{y + x}} \]
              5. Taylor expanded in x around 0

                \[\leadsto \frac{x}{y + x} \cdot \color{blue}{\frac{1}{1 + y}} \]
              6. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{x}{y + x} \cdot \color{blue}{\frac{1}{1 + y}} \]
                2. +-commutativeN/A

                  \[\leadsto \frac{x}{y + x} \cdot \frac{1}{\color{blue}{y + 1}} \]
                3. lower-+.f6461.5

                  \[\leadsto \frac{x}{y + x} \cdot \frac{1}{\color{blue}{y + 1}} \]
              7. Applied rewrites61.5%

                \[\leadsto \frac{x}{y + x} \cdot \color{blue}{\frac{1}{y + 1}} \]
            7. Recombined 3 regimes into one program.
            8. Final simplification68.3%

              \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -6 \cdot 10^{-192}:\\ \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{1 + y} \cdot \frac{x}{y + x}\\ \end{array} \]
            9. Add Preprocessing

            Alternative 5: 86.5% accurate, 0.9× speedup?

            \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -6 \cdot 10^{-192}:\\ \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{y}}{1 + y}\\ \end{array} \end{array} \]
            NOTE: x and y should be sorted in increasing order before calling this function.
            (FPCore (x y)
             :precision binary64
             (if (<= x -2.45e+162)
               (/ (/ y x) x)
               (if (<= x -6e-192)
                 (* 1.0 (/ y (* (+ 1.0 (+ y x)) (+ y x))))
                 (/ (/ x y) (+ 1.0 y)))))
            assert(x < y);
            double code(double x, double y) {
            	double tmp;
            	if (x <= -2.45e+162) {
            		tmp = (y / x) / x;
            	} else if (x <= -6e-192) {
            		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
            	} else {
            		tmp = (x / y) / (1.0 + y);
            	}
            	return tmp;
            }
            
            NOTE: x and y should be sorted in increasing order before calling this function.
            real(8) function code(x, y)
                real(8), intent (in) :: x
                real(8), intent (in) :: y
                real(8) :: tmp
                if (x <= (-2.45d+162)) then
                    tmp = (y / x) / x
                else if (x <= (-6d-192)) then
                    tmp = 1.0d0 * (y / ((1.0d0 + (y + x)) * (y + x)))
                else
                    tmp = (x / y) / (1.0d0 + y)
                end if
                code = tmp
            end function
            
            assert x < y;
            public static double code(double x, double y) {
            	double tmp;
            	if (x <= -2.45e+162) {
            		tmp = (y / x) / x;
            	} else if (x <= -6e-192) {
            		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
            	} else {
            		tmp = (x / y) / (1.0 + y);
            	}
            	return tmp;
            }
            
            [x, y] = sort([x, y])
            def code(x, y):
            	tmp = 0
            	if x <= -2.45e+162:
            		tmp = (y / x) / x
            	elif x <= -6e-192:
            		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)))
            	else:
            		tmp = (x / y) / (1.0 + y)
            	return tmp
            
            x, y = sort([x, y])
            function code(x, y)
            	tmp = 0.0
            	if (x <= -2.45e+162)
            		tmp = Float64(Float64(y / x) / x);
            	elseif (x <= -6e-192)
            		tmp = Float64(1.0 * Float64(y / Float64(Float64(1.0 + Float64(y + x)) * Float64(y + x))));
            	else
            		tmp = Float64(Float64(x / y) / Float64(1.0 + y));
            	end
            	return tmp
            end
            
            x, y = num2cell(sort([x, y])){:}
            function tmp_2 = code(x, y)
            	tmp = 0.0;
            	if (x <= -2.45e+162)
            		tmp = (y / x) / x;
            	elseif (x <= -6e-192)
            		tmp = 1.0 * (y / ((1.0 + (y + x)) * (y + x)));
            	else
            		tmp = (x / y) / (1.0 + y);
            	end
            	tmp_2 = tmp;
            end
            
            NOTE: x and y should be sorted in increasing order before calling this function.
            code[x_, y_] := If[LessEqual[x, -2.45e+162], N[(N[(y / x), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[x, -6e-192], N[(1.0 * N[(y / N[(N[(1.0 + N[(y + x), $MachinePrecision]), $MachinePrecision] * N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x / y), $MachinePrecision] / N[(1.0 + y), $MachinePrecision]), $MachinePrecision]]]
            
            \begin{array}{l}
            [x, y] = \mathsf{sort}([x, y])\\
            \\
            \begin{array}{l}
            \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\
            \;\;\;\;\frac{\frac{y}{x}}{x}\\
            
            \mathbf{elif}\;x \leq -6 \cdot 10^{-192}:\\
            \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\
            
            \mathbf{else}:\\
            \;\;\;\;\frac{\frac{x}{y}}{1 + y}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 3 regimes
            2. if x < -2.45000000000000017e162

              1. Initial program 58.6%

                \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                2. lift-+.f64N/A

                  \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                3. distribute-rgt-inN/A

                  \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                4. *-commutativeN/A

                  \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                5. lower-fma.f64N/A

                  \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                6. lift-+.f64N/A

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                7. +-commutativeN/A

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                8. lower-+.f64N/A

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                9. *-commutativeN/A

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                10. lower-*.f6458.6

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                11. lift-+.f64N/A

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                12. +-commutativeN/A

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                13. lower-+.f6458.6

                  \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
              4. Applied rewrites58.6%

                \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
              5. Taylor expanded in x around inf

                \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
              6. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                2. unpow2N/A

                  \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                3. lower-*.f6485.5

                  \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
              7. Applied rewrites85.5%

                \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]
              8. Step-by-step derivation
                1. Applied rewrites96.2%

                  \[\leadsto \frac{\frac{y}{x}}{\color{blue}{x}} \]

                if -2.45000000000000017e162 < x < -5.9999999999999998e-192

                1. Initial program 75.1%

                  \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                2. Add Preprocessing
                3. Step-by-step derivation
                  1. lift-/.f64N/A

                    \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
                  2. lift-*.f64N/A

                    \[\leadsto \frac{\color{blue}{x \cdot y}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                  3. *-commutativeN/A

                    \[\leadsto \frac{\color{blue}{y \cdot x}}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                  4. lift-*.f64N/A

                    \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}} \]
                  5. lift-*.f64N/A

                    \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                  6. associate-*l*N/A

                    \[\leadsto \frac{y \cdot x}{\color{blue}{\left(x + y\right) \cdot \left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right)}} \]
                  7. *-commutativeN/A

                    \[\leadsto \frac{y \cdot x}{\color{blue}{\left(\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)\right) \cdot \left(x + y\right)}} \]
                  8. times-fracN/A

                    \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
                  9. lower-*.f64N/A

                    \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)} \cdot \frac{x}{x + y}} \]
                  10. lower-/.f64N/A

                    \[\leadsto \color{blue}{\frac{y}{\left(x + y\right) \cdot \left(\left(x + y\right) + 1\right)}} \cdot \frac{x}{x + y} \]
                  11. *-commutativeN/A

                    \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
                  12. lower-*.f64N/A

                    \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right) \cdot \left(x + y\right)}} \cdot \frac{x}{x + y} \]
                  13. lift-+.f64N/A

                    \[\leadsto \frac{y}{\color{blue}{\left(\left(x + y\right) + 1\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
                  14. +-commutativeN/A

                    \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
                  15. lower-+.f64N/A

                    \[\leadsto \frac{y}{\color{blue}{\left(1 + \left(x + y\right)\right)} \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
                  16. lift-+.f64N/A

                    \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(x + y\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
                  17. +-commutativeN/A

                    \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
                  18. lower-+.f64N/A

                    \[\leadsto \frac{y}{\left(1 + \color{blue}{\left(y + x\right)}\right) \cdot \left(x + y\right)} \cdot \frac{x}{x + y} \]
                  19. lift-+.f64N/A

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(x + y\right)}} \cdot \frac{x}{x + y} \]
                  20. +-commutativeN/A

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
                  21. lower-+.f64N/A

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \color{blue}{\left(y + x\right)}} \cdot \frac{x}{x + y} \]
                  22. lower-/.f6497.6

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{\frac{x}{x + y}} \]
                  23. lift-+.f64N/A

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{x + y}} \]
                  24. +-commutativeN/A

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{\color{blue}{y + x}} \]
                4. Applied rewrites97.6%

                  \[\leadsto \color{blue}{\frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \frac{x}{y + x}} \]
                5. Taylor expanded in y around 0

                  \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{1} \]
                6. Step-by-step derivation
                  1. Applied rewrites73.9%

                    \[\leadsto \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)} \cdot \color{blue}{1} \]

                  if -5.9999999999999998e-192 < x

                  1. Initial program 74.3%

                    \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                  2. Add Preprocessing
                  3. Step-by-step derivation
                    1. lift-*.f64N/A

                      \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                    2. lift-+.f64N/A

                      \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    3. distribute-rgt-inN/A

                      \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                    4. *-commutativeN/A

                      \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    5. lower-fma.f64N/A

                      \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                    6. lift-+.f64N/A

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    7. +-commutativeN/A

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    8. lower-+.f64N/A

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    9. *-commutativeN/A

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    10. lower-*.f6474.3

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    11. lift-+.f64N/A

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    12. +-commutativeN/A

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    13. lower-+.f6474.3

                      \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                  4. Applied rewrites74.3%

                    \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                  5. Taylor expanded in x around 0

                    \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                  6. Step-by-step derivation
                    1. lower-/.f64N/A

                      \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                    2. +-commutativeN/A

                      \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                    3. distribute-lft-inN/A

                      \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                    4. *-rgt-identityN/A

                      \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                    5. lower-fma.f6459.9

                      \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                  7. Applied rewrites59.9%

                    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, y, y\right)}} \]
                  8. Step-by-step derivation
                    1. Applied rewrites61.0%

                      \[\leadsto \frac{\frac{x}{y}}{\color{blue}{y + 1}} \]
                  9. Recombined 3 regimes into one program.
                  10. Final simplification68.0%

                    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -2.45 \cdot 10^{+162}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -6 \cdot 10^{-192}:\\ \;\;\;\;1 \cdot \frac{y}{\left(1 + \left(y + x\right)\right) \cdot \left(y + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{y}}{1 + y}\\ \end{array} \]
                  11. Add Preprocessing

                  Alternative 6: 82.1% accurate, 1.0× speedup?

                  \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -1.5 \cdot 10^{+70}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -5.8 \cdot 10^{-97}:\\ \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{y}}{1 + y}\\ \end{array} \end{array} \]
                  NOTE: x and y should be sorted in increasing order before calling this function.
                  (FPCore (x y)
                   :precision binary64
                   (if (<= x -1.5e+70)
                     (/ (/ y x) x)
                     (if (<= x -5.8e-97) (/ y (fma x x x)) (/ (/ x y) (+ 1.0 y)))))
                  assert(x < y);
                  double code(double x, double y) {
                  	double tmp;
                  	if (x <= -1.5e+70) {
                  		tmp = (y / x) / x;
                  	} else if (x <= -5.8e-97) {
                  		tmp = y / fma(x, x, x);
                  	} else {
                  		tmp = (x / y) / (1.0 + y);
                  	}
                  	return tmp;
                  }
                  
                  x, y = sort([x, y])
                  function code(x, y)
                  	tmp = 0.0
                  	if (x <= -1.5e+70)
                  		tmp = Float64(Float64(y / x) / x);
                  	elseif (x <= -5.8e-97)
                  		tmp = Float64(y / fma(x, x, x));
                  	else
                  		tmp = Float64(Float64(x / y) / Float64(1.0 + y));
                  	end
                  	return tmp
                  end
                  
                  NOTE: x and y should be sorted in increasing order before calling this function.
                  code[x_, y_] := If[LessEqual[x, -1.5e+70], N[(N[(y / x), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[x, -5.8e-97], N[(y / N[(x * x + x), $MachinePrecision]), $MachinePrecision], N[(N[(x / y), $MachinePrecision] / N[(1.0 + y), $MachinePrecision]), $MachinePrecision]]]
                  
                  \begin{array}{l}
                  [x, y] = \mathsf{sort}([x, y])\\
                  \\
                  \begin{array}{l}
                  \mathbf{if}\;x \leq -1.5 \cdot 10^{+70}:\\
                  \;\;\;\;\frac{\frac{y}{x}}{x}\\
                  
                  \mathbf{elif}\;x \leq -5.8 \cdot 10^{-97}:\\
                  \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\
                  
                  \mathbf{else}:\\
                  \;\;\;\;\frac{\frac{x}{y}}{1 + y}\\
                  
                  
                  \end{array}
                  \end{array}
                  
                  Derivation
                  1. Split input into 3 regimes
                  2. if x < -1.49999999999999988e70

                    1. Initial program 54.3%

                      \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    2. Add Preprocessing
                    3. Step-by-step derivation
                      1. lift-*.f64N/A

                        \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                      2. lift-+.f64N/A

                        \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      3. distribute-rgt-inN/A

                        \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                      4. *-commutativeN/A

                        \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      5. lower-fma.f64N/A

                        \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                      6. lift-+.f64N/A

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      7. +-commutativeN/A

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      8. lower-+.f64N/A

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      9. *-commutativeN/A

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      10. lower-*.f6454.3

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      11. lift-+.f64N/A

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      12. +-commutativeN/A

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      13. lower-+.f6454.3

                        \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                    4. Applied rewrites54.3%

                      \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                    5. Taylor expanded in x around inf

                      \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                    6. Step-by-step derivation
                      1. lower-/.f64N/A

                        \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                      2. unpow2N/A

                        \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                      3. lower-*.f6475.2

                        \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                    7. Applied rewrites75.2%

                      \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]
                    8. Step-by-step derivation
                      1. Applied rewrites81.3%

                        \[\leadsto \frac{\frac{y}{x}}{\color{blue}{x}} \]

                      if -1.49999999999999988e70 < x < -5.7999999999999999e-97

                      1. Initial program 86.7%

                        \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      2. Add Preprocessing
                      3. Taylor expanded in y around 0

                        \[\leadsto \color{blue}{\frac{y}{x \cdot \left(1 + x\right)}} \]
                      4. Step-by-step derivation
                        1. lower-/.f64N/A

                          \[\leadsto \color{blue}{\frac{y}{x \cdot \left(1 + x\right)}} \]
                        2. +-commutativeN/A

                          \[\leadsto \frac{y}{x \cdot \color{blue}{\left(x + 1\right)}} \]
                        3. distribute-lft-inN/A

                          \[\leadsto \frac{y}{\color{blue}{x \cdot x + x \cdot 1}} \]
                        4. *-rgt-identityN/A

                          \[\leadsto \frac{y}{x \cdot x + \color{blue}{x}} \]
                        5. lower-fma.f6446.0

                          \[\leadsto \frac{y}{\color{blue}{\mathsf{fma}\left(x, x, x\right)}} \]
                      5. Applied rewrites46.0%

                        \[\leadsto \color{blue}{\frac{y}{\mathsf{fma}\left(x, x, x\right)}} \]

                      if -5.7999999999999999e-97 < x

                      1. Initial program 74.8%

                        \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      2. Add Preprocessing
                      3. Step-by-step derivation
                        1. lift-*.f64N/A

                          \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                        2. lift-+.f64N/A

                          \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        3. distribute-rgt-inN/A

                          \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                        4. *-commutativeN/A

                          \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        5. lower-fma.f64N/A

                          \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                        6. lift-+.f64N/A

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        7. +-commutativeN/A

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        8. lower-+.f64N/A

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        9. *-commutativeN/A

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        10. lower-*.f6474.8

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        11. lift-+.f64N/A

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        12. +-commutativeN/A

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        13. lower-+.f6474.8

                          \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                      4. Applied rewrites74.8%

                        \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                      5. Taylor expanded in x around 0

                        \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                      6. Step-by-step derivation
                        1. lower-/.f64N/A

                          \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                        2. +-commutativeN/A

                          \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                        3. distribute-lft-inN/A

                          \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                        4. *-rgt-identityN/A

                          \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                        5. lower-fma.f6461.0

                          \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                      7. Applied rewrites61.0%

                        \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, y, y\right)}} \]
                      8. Step-by-step derivation
                        1. Applied rewrites62.0%

                          \[\leadsto \frac{\frac{x}{y}}{\color{blue}{y + 1}} \]
                      9. Recombined 3 regimes into one program.
                      10. Final simplification63.1%

                        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -1.5 \cdot 10^{+70}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -5.8 \cdot 10^{-97}:\\ \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{y}}{1 + y}\\ \end{array} \]
                      11. Add Preprocessing

                      Alternative 7: 70.0% accurate, 1.1× speedup?

                      \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} t_0 := \frac{x}{y \cdot y}\\ \mathbf{if}\;x \leq -2600:\\ \;\;\;\;\frac{y}{x \cdot x}\\ \mathbf{elif}\;x \leq -4.75 \cdot 10^{-132}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x \leq 6 \cdot 10^{-204}:\\ \;\;\;\;\frac{x}{y}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                      NOTE: x and y should be sorted in increasing order before calling this function.
                      (FPCore (x y)
                       :precision binary64
                       (let* ((t_0 (/ x (* y y))))
                         (if (<= x -2600.0)
                           (/ y (* x x))
                           (if (<= x -4.75e-132) t_0 (if (<= x 6e-204) (/ x y) t_0)))))
                      assert(x < y);
                      double code(double x, double y) {
                      	double t_0 = x / (y * y);
                      	double tmp;
                      	if (x <= -2600.0) {
                      		tmp = y / (x * x);
                      	} else if (x <= -4.75e-132) {
                      		tmp = t_0;
                      	} else if (x <= 6e-204) {
                      		tmp = x / y;
                      	} else {
                      		tmp = t_0;
                      	}
                      	return tmp;
                      }
                      
                      NOTE: x and y should be sorted in increasing order before calling this function.
                      real(8) function code(x, y)
                          real(8), intent (in) :: x
                          real(8), intent (in) :: y
                          real(8) :: t_0
                          real(8) :: tmp
                          t_0 = x / (y * y)
                          if (x <= (-2600.0d0)) then
                              tmp = y / (x * x)
                          else if (x <= (-4.75d-132)) then
                              tmp = t_0
                          else if (x <= 6d-204) then
                              tmp = x / y
                          else
                              tmp = t_0
                          end if
                          code = tmp
                      end function
                      
                      assert x < y;
                      public static double code(double x, double y) {
                      	double t_0 = x / (y * y);
                      	double tmp;
                      	if (x <= -2600.0) {
                      		tmp = y / (x * x);
                      	} else if (x <= -4.75e-132) {
                      		tmp = t_0;
                      	} else if (x <= 6e-204) {
                      		tmp = x / y;
                      	} else {
                      		tmp = t_0;
                      	}
                      	return tmp;
                      }
                      
                      [x, y] = sort([x, y])
                      def code(x, y):
                      	t_0 = x / (y * y)
                      	tmp = 0
                      	if x <= -2600.0:
                      		tmp = y / (x * x)
                      	elif x <= -4.75e-132:
                      		tmp = t_0
                      	elif x <= 6e-204:
                      		tmp = x / y
                      	else:
                      		tmp = t_0
                      	return tmp
                      
                      x, y = sort([x, y])
                      function code(x, y)
                      	t_0 = Float64(x / Float64(y * y))
                      	tmp = 0.0
                      	if (x <= -2600.0)
                      		tmp = Float64(y / Float64(x * x));
                      	elseif (x <= -4.75e-132)
                      		tmp = t_0;
                      	elseif (x <= 6e-204)
                      		tmp = Float64(x / y);
                      	else
                      		tmp = t_0;
                      	end
                      	return tmp
                      end
                      
                      x, y = num2cell(sort([x, y])){:}
                      function tmp_2 = code(x, y)
                      	t_0 = x / (y * y);
                      	tmp = 0.0;
                      	if (x <= -2600.0)
                      		tmp = y / (x * x);
                      	elseif (x <= -4.75e-132)
                      		tmp = t_0;
                      	elseif (x <= 6e-204)
                      		tmp = x / y;
                      	else
                      		tmp = t_0;
                      	end
                      	tmp_2 = tmp;
                      end
                      
                      NOTE: x and y should be sorted in increasing order before calling this function.
                      code[x_, y_] := Block[{t$95$0 = N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -2600.0], N[(y / N[(x * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.75e-132], t$95$0, If[LessEqual[x, 6e-204], N[(x / y), $MachinePrecision], t$95$0]]]]
                      
                      \begin{array}{l}
                      [x, y] = \mathsf{sort}([x, y])\\
                      \\
                      \begin{array}{l}
                      t_0 := \frac{x}{y \cdot y}\\
                      \mathbf{if}\;x \leq -2600:\\
                      \;\;\;\;\frac{y}{x \cdot x}\\
                      
                      \mathbf{elif}\;x \leq -4.75 \cdot 10^{-132}:\\
                      \;\;\;\;t\_0\\
                      
                      \mathbf{elif}\;x \leq 6 \cdot 10^{-204}:\\
                      \;\;\;\;\frac{x}{y}\\
                      
                      \mathbf{else}:\\
                      \;\;\;\;t\_0\\
                      
                      
                      \end{array}
                      \end{array}
                      
                      Derivation
                      1. Split input into 3 regimes
                      2. if x < -2600

                        1. Initial program 57.4%

                          \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        2. Add Preprocessing
                        3. Taylor expanded in x around inf

                          \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                        4. Step-by-step derivation
                          1. lower-/.f64N/A

                            \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                          2. unpow2N/A

                            \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                          3. lower-*.f6472.6

                            \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                        5. Applied rewrites72.6%

                          \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]

                        if -2600 < x < -4.74999999999999993e-132 or 5.9999999999999997e-204 < x

                        1. Initial program 80.5%

                          \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        2. Add Preprocessing
                        3. Taylor expanded in y around inf

                          \[\leadsto \color{blue}{\frac{x}{{y}^{2}}} \]
                        4. Step-by-step derivation
                          1. lower-/.f64N/A

                            \[\leadsto \color{blue}{\frac{x}{{y}^{2}}} \]
                          2. unpow2N/A

                            \[\leadsto \frac{x}{\color{blue}{y \cdot y}} \]
                          3. lower-*.f6444.4

                            \[\leadsto \frac{x}{\color{blue}{y \cdot y}} \]
                        5. Applied rewrites44.4%

                          \[\leadsto \color{blue}{\frac{x}{y \cdot y}} \]

                        if -4.74999999999999993e-132 < x < 5.9999999999999997e-204

                        1. Initial program 68.5%

                          \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        2. Add Preprocessing
                        3. Step-by-step derivation
                          1. lift-*.f64N/A

                            \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                          2. lift-+.f64N/A

                            \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          3. distribute-rgt-inN/A

                            \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                          4. *-commutativeN/A

                            \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          5. lower-fma.f64N/A

                            \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                          6. lift-+.f64N/A

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          7. +-commutativeN/A

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          8. lower-+.f64N/A

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          9. *-commutativeN/A

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          10. lower-*.f6468.5

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          11. lift-+.f64N/A

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          12. +-commutativeN/A

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          13. lower-+.f6468.5

                            \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                        4. Applied rewrites68.5%

                          \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                        5. Taylor expanded in x around 0

                          \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                        6. Step-by-step derivation
                          1. lower-/.f64N/A

                            \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                          2. +-commutativeN/A

                            \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                          3. distribute-lft-inN/A

                            \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                          4. *-rgt-identityN/A

                            \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                          5. lower-fma.f6491.6

                            \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                        7. Applied rewrites91.6%

                          \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, y, y\right)}} \]
                        8. Taylor expanded in y around 0

                          \[\leadsto \frac{x}{\color{blue}{y}} \]
                        9. Step-by-step derivation
                          1. Applied rewrites77.2%

                            \[\leadsto \frac{x}{\color{blue}{y}} \]
                        10. Recombined 3 regimes into one program.
                        11. Add Preprocessing

                        Alternative 8: 80.6% accurate, 1.3× speedup?

                        \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -1.5 \cdot 10^{+70}:\\ \;\;\;\;\frac{\frac{y}{x}}{x}\\ \mathbf{elif}\;x \leq -5.8 \cdot 10^{-97}:\\ \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\mathsf{fma}\left(y, y, y\right)}\\ \end{array} \end{array} \]
                        NOTE: x and y should be sorted in increasing order before calling this function.
                        (FPCore (x y)
                         :precision binary64
                         (if (<= x -1.5e+70)
                           (/ (/ y x) x)
                           (if (<= x -5.8e-97) (/ y (fma x x x)) (/ x (fma y y y)))))
                        assert(x < y);
                        double code(double x, double y) {
                        	double tmp;
                        	if (x <= -1.5e+70) {
                        		tmp = (y / x) / x;
                        	} else if (x <= -5.8e-97) {
                        		tmp = y / fma(x, x, x);
                        	} else {
                        		tmp = x / fma(y, y, y);
                        	}
                        	return tmp;
                        }
                        
                        x, y = sort([x, y])
                        function code(x, y)
                        	tmp = 0.0
                        	if (x <= -1.5e+70)
                        		tmp = Float64(Float64(y / x) / x);
                        	elseif (x <= -5.8e-97)
                        		tmp = Float64(y / fma(x, x, x));
                        	else
                        		tmp = Float64(x / fma(y, y, y));
                        	end
                        	return tmp
                        end
                        
                        NOTE: x and y should be sorted in increasing order before calling this function.
                        code[x_, y_] := If[LessEqual[x, -1.5e+70], N[(N[(y / x), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[x, -5.8e-97], N[(y / N[(x * x + x), $MachinePrecision]), $MachinePrecision], N[(x / N[(y * y + y), $MachinePrecision]), $MachinePrecision]]]
                        
                        \begin{array}{l}
                        [x, y] = \mathsf{sort}([x, y])\\
                        \\
                        \begin{array}{l}
                        \mathbf{if}\;x \leq -1.5 \cdot 10^{+70}:\\
                        \;\;\;\;\frac{\frac{y}{x}}{x}\\
                        
                        \mathbf{elif}\;x \leq -5.8 \cdot 10^{-97}:\\
                        \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\
                        
                        \mathbf{else}:\\
                        \;\;\;\;\frac{x}{\mathsf{fma}\left(y, y, y\right)}\\
                        
                        
                        \end{array}
                        \end{array}
                        
                        Derivation
                        1. Split input into 3 regimes
                        2. if x < -1.49999999999999988e70

                          1. Initial program 54.3%

                            \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          2. Add Preprocessing
                          3. Step-by-step derivation
                            1. lift-*.f64N/A

                              \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. lift-+.f64N/A

                              \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            3. distribute-rgt-inN/A

                              \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                            4. *-commutativeN/A

                              \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            5. lower-fma.f64N/A

                              \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                            6. lift-+.f64N/A

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            7. +-commutativeN/A

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            8. lower-+.f64N/A

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            9. *-commutativeN/A

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            10. lower-*.f6454.3

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            11. lift-+.f64N/A

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            12. +-commutativeN/A

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            13. lower-+.f6454.3

                              \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                          4. Applied rewrites54.3%

                            \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                          5. Taylor expanded in x around inf

                            \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                          6. Step-by-step derivation
                            1. lower-/.f64N/A

                              \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                            2. unpow2N/A

                              \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                            3. lower-*.f6475.2

                              \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                          7. Applied rewrites75.2%

                            \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]
                          8. Step-by-step derivation
                            1. Applied rewrites81.3%

                              \[\leadsto \frac{\frac{y}{x}}{\color{blue}{x}} \]

                            if -1.49999999999999988e70 < x < -5.7999999999999999e-97

                            1. Initial program 86.7%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in y around 0

                              \[\leadsto \color{blue}{\frac{y}{x \cdot \left(1 + x\right)}} \]
                            4. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{y}{x \cdot \left(1 + x\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{y}{x \cdot \color{blue}{\left(x + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{y}{\color{blue}{x \cdot x + x \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{y}{x \cdot x + \color{blue}{x}} \]
                              5. lower-fma.f6446.0

                                \[\leadsto \frac{y}{\color{blue}{\mathsf{fma}\left(x, x, x\right)}} \]
                            5. Applied rewrites46.0%

                              \[\leadsto \color{blue}{\frac{y}{\mathsf{fma}\left(x, x, x\right)}} \]

                            if -5.7999999999999999e-97 < x

                            1. Initial program 74.8%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in x around 0

                              \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                            4. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                              5. lower-fma.f6461.0

                                \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                            5. Applied rewrites61.0%

                              \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, y, y\right)}} \]
                          9. Recombined 3 regimes into one program.
                          10. Add Preprocessing

                          Alternative 9: 78.7% accurate, 1.6× speedup?

                          \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -5.8 \cdot 10^{-97}:\\ \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\mathsf{fma}\left(y, y, y\right)}\\ \end{array} \end{array} \]
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          (FPCore (x y)
                           :precision binary64
                           (if (<= x -5.8e-97) (/ y (fma x x x)) (/ x (fma y y y))))
                          assert(x < y);
                          double code(double x, double y) {
                          	double tmp;
                          	if (x <= -5.8e-97) {
                          		tmp = y / fma(x, x, x);
                          	} else {
                          		tmp = x / fma(y, y, y);
                          	}
                          	return tmp;
                          }
                          
                          x, y = sort([x, y])
                          function code(x, y)
                          	tmp = 0.0
                          	if (x <= -5.8e-97)
                          		tmp = Float64(y / fma(x, x, x));
                          	else
                          		tmp = Float64(x / fma(y, y, y));
                          	end
                          	return tmp
                          end
                          
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          code[x_, y_] := If[LessEqual[x, -5.8e-97], N[(y / N[(x * x + x), $MachinePrecision]), $MachinePrecision], N[(x / N[(y * y + y), $MachinePrecision]), $MachinePrecision]]
                          
                          \begin{array}{l}
                          [x, y] = \mathsf{sort}([x, y])\\
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;x \leq -5.8 \cdot 10^{-97}:\\
                          \;\;\;\;\frac{y}{\mathsf{fma}\left(x, x, x\right)}\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;\frac{x}{\mathsf{fma}\left(y, y, y\right)}\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 2 regimes
                          2. if x < -5.7999999999999999e-97

                            1. Initial program 68.9%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in y around 0

                              \[\leadsto \color{blue}{\frac{y}{x \cdot \left(1 + x\right)}} \]
                            4. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{y}{x \cdot \left(1 + x\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{y}{x \cdot \color{blue}{\left(x + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{y}{\color{blue}{x \cdot x + x \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{y}{x \cdot x + \color{blue}{x}} \]
                              5. lower-fma.f6462.0

                                \[\leadsto \frac{y}{\color{blue}{\mathsf{fma}\left(x, x, x\right)}} \]
                            5. Applied rewrites62.0%

                              \[\leadsto \color{blue}{\frac{y}{\mathsf{fma}\left(x, x, x\right)}} \]

                            if -5.7999999999999999e-97 < x

                            1. Initial program 74.8%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in x around 0

                              \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                            4. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                              5. lower-fma.f6461.0

                                \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                            5. Applied rewrites61.0%

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

                          Alternative 10: 76.4% accurate, 1.6× speedup?

                          \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;x \leq -2600:\\ \;\;\;\;\frac{y}{x \cdot x}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\mathsf{fma}\left(y, y, y\right)}\\ \end{array} \end{array} \]
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          (FPCore (x y)
                           :precision binary64
                           (if (<= x -2600.0) (/ y (* x x)) (/ x (fma y y y))))
                          assert(x < y);
                          double code(double x, double y) {
                          	double tmp;
                          	if (x <= -2600.0) {
                          		tmp = y / (x * x);
                          	} else {
                          		tmp = x / fma(y, y, y);
                          	}
                          	return tmp;
                          }
                          
                          x, y = sort([x, y])
                          function code(x, y)
                          	tmp = 0.0
                          	if (x <= -2600.0)
                          		tmp = Float64(y / Float64(x * x));
                          	else
                          		tmp = Float64(x / fma(y, y, y));
                          	end
                          	return tmp
                          end
                          
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          code[x_, y_] := If[LessEqual[x, -2600.0], N[(y / N[(x * x), $MachinePrecision]), $MachinePrecision], N[(x / N[(y * y + y), $MachinePrecision]), $MachinePrecision]]
                          
                          \begin{array}{l}
                          [x, y] = \mathsf{sort}([x, y])\\
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;x \leq -2600:\\
                          \;\;\;\;\frac{y}{x \cdot x}\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;\frac{x}{\mathsf{fma}\left(y, y, y\right)}\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 2 regimes
                          2. if x < -2600

                            1. Initial program 57.4%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in x around inf

                              \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                            4. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{y}{{x}^{2}}} \]
                              2. unpow2N/A

                                \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                              3. lower-*.f6472.6

                                \[\leadsto \frac{y}{\color{blue}{x \cdot x}} \]
                            5. Applied rewrites72.6%

                              \[\leadsto \color{blue}{\frac{y}{x \cdot x}} \]

                            if -2600 < x

                            1. Initial program 77.1%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in x around 0

                              \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                            4. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                              5. lower-fma.f6461.2

                                \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                            5. Applied rewrites61.2%

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

                          Alternative 11: 47.0% accurate, 1.7× speedup?

                          \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \begin{array}{l} \mathbf{if}\;y \leq 1:\\ \;\;\;\;\frac{x}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y \cdot y}\\ \end{array} \end{array} \]
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          (FPCore (x y) :precision binary64 (if (<= y 1.0) (/ x y) (/ x (* y y))))
                          assert(x < y);
                          double code(double x, double y) {
                          	double tmp;
                          	if (y <= 1.0) {
                          		tmp = x / y;
                          	} else {
                          		tmp = x / (y * y);
                          	}
                          	return tmp;
                          }
                          
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          real(8) function code(x, y)
                              real(8), intent (in) :: x
                              real(8), intent (in) :: y
                              real(8) :: tmp
                              if (y <= 1.0d0) then
                                  tmp = x / y
                              else
                                  tmp = x / (y * y)
                              end if
                              code = tmp
                          end function
                          
                          assert x < y;
                          public static double code(double x, double y) {
                          	double tmp;
                          	if (y <= 1.0) {
                          		tmp = x / y;
                          	} else {
                          		tmp = x / (y * y);
                          	}
                          	return tmp;
                          }
                          
                          [x, y] = sort([x, y])
                          def code(x, y):
                          	tmp = 0
                          	if y <= 1.0:
                          		tmp = x / y
                          	else:
                          		tmp = x / (y * y)
                          	return tmp
                          
                          x, y = sort([x, y])
                          function code(x, y)
                          	tmp = 0.0
                          	if (y <= 1.0)
                          		tmp = Float64(x / y);
                          	else
                          		tmp = Float64(x / Float64(y * y));
                          	end
                          	return tmp
                          end
                          
                          x, y = num2cell(sort([x, y])){:}
                          function tmp_2 = code(x, y)
                          	tmp = 0.0;
                          	if (y <= 1.0)
                          		tmp = x / y;
                          	else
                          		tmp = x / (y * y);
                          	end
                          	tmp_2 = tmp;
                          end
                          
                          NOTE: x and y should be sorted in increasing order before calling this function.
                          code[x_, y_] := If[LessEqual[y, 1.0], N[(x / y), $MachinePrecision], N[(x / N[(y * y), $MachinePrecision]), $MachinePrecision]]
                          
                          \begin{array}{l}
                          [x, y] = \mathsf{sort}([x, y])\\
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;y \leq 1:\\
                          \;\;\;\;\frac{x}{y}\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;\frac{x}{y \cdot y}\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 2 regimes
                          2. if y < 1

                            1. Initial program 74.2%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Step-by-step derivation
                              1. lift-*.f64N/A

                                \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                              2. lift-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              3. distribute-rgt-inN/A

                                \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                              4. *-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              5. lower-fma.f64N/A

                                \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                              6. lift-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              7. +-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              8. lower-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              9. *-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              10. lower-*.f6474.2

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              11. lift-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              12. +-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              13. lower-+.f6474.2

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            4. Applied rewrites74.2%

                              \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                            5. Taylor expanded in x around 0

                              \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                            6. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                              5. lower-fma.f6444.2

                                \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                            7. Applied rewrites44.2%

                              \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, y, y\right)}} \]
                            8. Taylor expanded in y around 0

                              \[\leadsto \frac{x}{\color{blue}{y}} \]
                            9. Step-by-step derivation
                              1. Applied rewrites24.1%

                                \[\leadsto \frac{x}{\color{blue}{y}} \]

                              if 1 < y

                              1. Initial program 70.0%

                                \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              2. Add Preprocessing
                              3. Taylor expanded in y around inf

                                \[\leadsto \color{blue}{\frac{x}{{y}^{2}}} \]
                              4. Step-by-step derivation
                                1. lower-/.f64N/A

                                  \[\leadsto \color{blue}{\frac{x}{{y}^{2}}} \]
                                2. unpow2N/A

                                  \[\leadsto \frac{x}{\color{blue}{y \cdot y}} \]
                                3. lower-*.f6475.9

                                  \[\leadsto \frac{x}{\color{blue}{y \cdot y}} \]
                              5. Applied rewrites75.9%

                                \[\leadsto \color{blue}{\frac{x}{y \cdot y}} \]
                            10. Recombined 2 regimes into one program.
                            11. Add Preprocessing

                            Alternative 12: 26.8% accurate, 3.3× speedup?

                            \[\begin{array}{l} [x, y] = \mathsf{sort}([x, y])\\ \\ \frac{x}{y} \end{array} \]
                            NOTE: x and y should be sorted in increasing order before calling this function.
                            (FPCore (x y) :precision binary64 (/ x y))
                            assert(x < y);
                            double code(double x, double y) {
                            	return x / y;
                            }
                            
                            NOTE: x and y should be sorted in increasing order before calling this function.
                            real(8) function code(x, y)
                                real(8), intent (in) :: x
                                real(8), intent (in) :: y
                                code = x / y
                            end function
                            
                            assert x < y;
                            public static double code(double x, double y) {
                            	return x / y;
                            }
                            
                            [x, y] = sort([x, y])
                            def code(x, y):
                            	return x / y
                            
                            x, y = sort([x, y])
                            function code(x, y)
                            	return Float64(x / y)
                            end
                            
                            x, y = num2cell(sort([x, y])){:}
                            function tmp = code(x, y)
                            	tmp = x / y;
                            end
                            
                            NOTE: x and y should be sorted in increasing order before calling this function.
                            code[x_, y_] := N[(x / y), $MachinePrecision]
                            
                            \begin{array}{l}
                            [x, y] = \mathsf{sort}([x, y])\\
                            \\
                            \frac{x}{y}
                            \end{array}
                            
                            Derivation
                            1. Initial program 73.0%

                              \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            2. Add Preprocessing
                            3. Step-by-step derivation
                              1. lift-*.f64N/A

                                \[\leadsto \frac{x \cdot y}{\color{blue}{\left(\left(x + y\right) \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                              2. lift-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \color{blue}{\left(x + y\right)}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              3. distribute-rgt-inN/A

                                \[\leadsto \frac{x \cdot y}{\color{blue}{\left(x \cdot \left(x + y\right) + y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                              4. *-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\left(\color{blue}{\left(x + y\right) \cdot x} + y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              5. lower-fma.f64N/A

                                \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(x + y, x, y \cdot \left(x + y\right)\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                              6. lift-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{x + y}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              7. +-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              8. lower-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(\color{blue}{y + x}, x, y \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              9. *-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              10. lower-*.f6473.0

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right) \cdot y}\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              11. lift-+.f64N/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(x + y\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              12. +-commutativeN/A

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                              13. lower-+.f6473.0

                                \[\leadsto \frac{x \cdot y}{\mathsf{fma}\left(y + x, x, \color{blue}{\left(y + x\right)} \cdot y\right) \cdot \left(\left(x + y\right) + 1\right)} \]
                            4. Applied rewrites73.0%

                              \[\leadsto \frac{x \cdot y}{\color{blue}{\mathsf{fma}\left(y + x, x, \left(y + x\right) \cdot y\right)} \cdot \left(\left(x + y\right) + 1\right)} \]
                            5. Taylor expanded in x around 0

                              \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                            6. Step-by-step derivation
                              1. lower-/.f64N/A

                                \[\leadsto \color{blue}{\frac{x}{y \cdot \left(1 + y\right)}} \]
                              2. +-commutativeN/A

                                \[\leadsto \frac{x}{y \cdot \color{blue}{\left(y + 1\right)}} \]
                              3. distribute-lft-inN/A

                                \[\leadsto \frac{x}{\color{blue}{y \cdot y + y \cdot 1}} \]
                              4. *-rgt-identityN/A

                                \[\leadsto \frac{x}{y \cdot y + \color{blue}{y}} \]
                              5. lower-fma.f6453.8

                                \[\leadsto \frac{x}{\color{blue}{\mathsf{fma}\left(y, y, y\right)}} \]
                            7. Applied rewrites53.8%

                              \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, y, y\right)}} \]
                            8. Taylor expanded in y around 0

                              \[\leadsto \frac{x}{\color{blue}{y}} \]
                            9. Step-by-step derivation
                              1. Applied rewrites27.2%

                                \[\leadsto \frac{x}{\color{blue}{y}} \]
                              2. Add Preprocessing

                              Developer Target 1: 99.8% accurate, 0.6× speedup?

                              \[\begin{array}{l} \\ \frac{\frac{\frac{x}{\left(y + 1\right) + x}}{y + x}}{\frac{1}{\frac{y}{y + x}}} \end{array} \]
                              (FPCore (x y)
                               :precision binary64
                               (/ (/ (/ x (+ (+ y 1.0) x)) (+ y x)) (/ 1.0 (/ y (+ y x)))))
                              double code(double x, double y) {
                              	return ((x / ((y + 1.0) + x)) / (y + x)) / (1.0 / (y / (y + x)));
                              }
                              
                              real(8) function code(x, y)
                                  real(8), intent (in) :: x
                                  real(8), intent (in) :: y
                                  code = ((x / ((y + 1.0d0) + x)) / (y + x)) / (1.0d0 / (y / (y + x)))
                              end function
                              
                              public static double code(double x, double y) {
                              	return ((x / ((y + 1.0) + x)) / (y + x)) / (1.0 / (y / (y + x)));
                              }
                              
                              def code(x, y):
                              	return ((x / ((y + 1.0) + x)) / (y + x)) / (1.0 / (y / (y + x)))
                              
                              function code(x, y)
                              	return Float64(Float64(Float64(x / Float64(Float64(y + 1.0) + x)) / Float64(y + x)) / Float64(1.0 / Float64(y / Float64(y + x))))
                              end
                              
                              function tmp = code(x, y)
                              	tmp = ((x / ((y + 1.0) + x)) / (y + x)) / (1.0 / (y / (y + x)));
                              end
                              
                              code[x_, y_] := N[(N[(N[(x / N[(N[(y + 1.0), $MachinePrecision] + x), $MachinePrecision]), $MachinePrecision] / N[(y + x), $MachinePrecision]), $MachinePrecision] / N[(1.0 / N[(y / N[(y + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
                              
                              \begin{array}{l}
                              
                              \\
                              \frac{\frac{\frac{x}{\left(y + 1\right) + x}}{y + x}}{\frac{1}{\frac{y}{y + x}}}
                              \end{array}
                              

                              Reproduce

                              ?
                              herbie shell --seed 2024255 
                              (FPCore (x y)
                                :name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, A"
                                :precision binary64
                              
                                :alt
                                (! :herbie-platform default (/ (/ (/ x (+ (+ y 1) x)) (+ y x)) (/ 1 (/ y (+ y x)))))
                              
                                (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1.0))))