Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B

Percentage Accurate: 99.4% → 99.4%
Time: 11.7s
Alternatives: 12
Speedup: N/A×

Specification

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

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

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

\\
\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)
\end{array}

Alternative 1: 99.4% accurate, 1.0× speedup?

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

\\
\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)
\end{array}
Derivation
  1. Initial program 99.5%

    \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
  2. Step-by-step derivation
    1. *-commutativeN/A

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

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

      \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
    4. sqrt-lowering-sqrt.f64N/A

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

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
    6. distribute-lft-inN/A

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

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
    8. +-lowering-+.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
    9. *-lowering-*.f64N/A

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

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
    11. sub-negN/A

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

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
    13. distribute-lft-inN/A

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

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
    15. +-lowering-+.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
    16. metadata-evalN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
    17. metadata-evalN/A

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

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

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
    20. associate-/r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
    21. associate-*r/N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
    22. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
  3. Simplified99.5%

    \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
  4. Add Preprocessing
  5. Add Preprocessing

Alternative 2: 61.7% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 1.12 \cdot 10^{-15}:\\ \;\;\;\;\frac{{x}^{-0.5}}{3}\\ \mathbf{elif}\;x \leq 8 \cdot 10^{+149}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y\right)\\ \mathbf{elif}\;x \leq 6.2 \cdot 10^{+205}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \mathbf{elif}\;x \leq 2.3 \cdot 10^{+265}:\\ \;\;\;\;3 \cdot \left(\sqrt{x} \cdot y\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{x}}{-0.3333333333333333}\\ \end{array} \end{array} \]
(FPCore (x y)
 :precision binary64
 (if (<= x 1.12e-15)
   (/ (pow x -0.5) 3.0)
   (if (<= x 8e+149)
     (* (sqrt x) (* 3.0 y))
     (if (<= x 6.2e+205)
       (* (sqrt x) -3.0)
       (if (<= x 2.3e+265)
         (* 3.0 (* (sqrt x) y))
         (/ (sqrt x) -0.3333333333333333))))))
double code(double x, double y) {
	double tmp;
	if (x <= 1.12e-15) {
		tmp = pow(x, -0.5) / 3.0;
	} else if (x <= 8e+149) {
		tmp = sqrt(x) * (3.0 * y);
	} else if (x <= 6.2e+205) {
		tmp = sqrt(x) * -3.0;
	} else if (x <= 2.3e+265) {
		tmp = 3.0 * (sqrt(x) * y);
	} else {
		tmp = sqrt(x) / -0.3333333333333333;
	}
	return tmp;
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8) :: tmp
    if (x <= 1.12d-15) then
        tmp = (x ** (-0.5d0)) / 3.0d0
    else if (x <= 8d+149) then
        tmp = sqrt(x) * (3.0d0 * y)
    else if (x <= 6.2d+205) then
        tmp = sqrt(x) * (-3.0d0)
    else if (x <= 2.3d+265) then
        tmp = 3.0d0 * (sqrt(x) * y)
    else
        tmp = sqrt(x) / (-0.3333333333333333d0)
    end if
    code = tmp
end function
public static double code(double x, double y) {
	double tmp;
	if (x <= 1.12e-15) {
		tmp = Math.pow(x, -0.5) / 3.0;
	} else if (x <= 8e+149) {
		tmp = Math.sqrt(x) * (3.0 * y);
	} else if (x <= 6.2e+205) {
		tmp = Math.sqrt(x) * -3.0;
	} else if (x <= 2.3e+265) {
		tmp = 3.0 * (Math.sqrt(x) * y);
	} else {
		tmp = Math.sqrt(x) / -0.3333333333333333;
	}
	return tmp;
}
def code(x, y):
	tmp = 0
	if x <= 1.12e-15:
		tmp = math.pow(x, -0.5) / 3.0
	elif x <= 8e+149:
		tmp = math.sqrt(x) * (3.0 * y)
	elif x <= 6.2e+205:
		tmp = math.sqrt(x) * -3.0
	elif x <= 2.3e+265:
		tmp = 3.0 * (math.sqrt(x) * y)
	else:
		tmp = math.sqrt(x) / -0.3333333333333333
	return tmp
function code(x, y)
	tmp = 0.0
	if (x <= 1.12e-15)
		tmp = Float64((x ^ -0.5) / 3.0);
	elseif (x <= 8e+149)
		tmp = Float64(sqrt(x) * Float64(3.0 * y));
	elseif (x <= 6.2e+205)
		tmp = Float64(sqrt(x) * -3.0);
	elseif (x <= 2.3e+265)
		tmp = Float64(3.0 * Float64(sqrt(x) * y));
	else
		tmp = Float64(sqrt(x) / -0.3333333333333333);
	end
	return tmp
end
function tmp_2 = code(x, y)
	tmp = 0.0;
	if (x <= 1.12e-15)
		tmp = (x ^ -0.5) / 3.0;
	elseif (x <= 8e+149)
		tmp = sqrt(x) * (3.0 * y);
	elseif (x <= 6.2e+205)
		tmp = sqrt(x) * -3.0;
	elseif (x <= 2.3e+265)
		tmp = 3.0 * (sqrt(x) * y);
	else
		tmp = sqrt(x) / -0.3333333333333333;
	end
	tmp_2 = tmp;
end
code[x_, y_] := If[LessEqual[x, 1.12e-15], N[(N[Power[x, -0.5], $MachinePrecision] / 3.0), $MachinePrecision], If[LessEqual[x, 8e+149], N[(N[Sqrt[x], $MachinePrecision] * N[(3.0 * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 6.2e+205], N[(N[Sqrt[x], $MachinePrecision] * -3.0), $MachinePrecision], If[LessEqual[x, 2.3e+265], N[(3.0 * N[(N[Sqrt[x], $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] / -0.3333333333333333), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.12 \cdot 10^{-15}:\\
\;\;\;\;\frac{{x}^{-0.5}}{3}\\

\mathbf{elif}\;x \leq 8 \cdot 10^{+149}:\\
\;\;\;\;\sqrt{x} \cdot \left(3 \cdot y\right)\\

\mathbf{elif}\;x \leq 6.2 \cdot 10^{+205}:\\
\;\;\;\;\sqrt{x} \cdot -3\\

\mathbf{elif}\;x \leq 2.3 \cdot 10^{+265}:\\
\;\;\;\;3 \cdot \left(\sqrt{x} \cdot y\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{x}}{-0.3333333333333333}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if x < 1.1200000000000001e-15

    1. Initial program 99.4%

      \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
    2. Step-by-step derivation
      1. *-commutativeN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
      4. sqrt-lowering-sqrt.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      6. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
      8. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
      9. *-lowering-*.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      11. sub-negN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
      13. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
      15. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
      16. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
      17. metadata-evalN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
      20. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      21. associate-*r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      22. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
    3. Simplified99.3%

      \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
    4. Add Preprocessing
    5. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt{\frac{1}{x}}} \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{\frac{1}{x}}\right)}\right) \]
      2. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\left(\frac{1}{x}\right)\right)\right) \]
      3. /-lowering-/.f6481.1%

        \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right) \]
    7. Simplified81.1%

      \[\leadsto \color{blue}{0.3333333333333333 \cdot \sqrt{\frac{1}{x}}} \]
    8. Step-by-step derivation
      1. sqrt-divN/A

        \[\leadsto \frac{1}{3} \cdot \frac{\sqrt{1}}{\color{blue}{\sqrt{x}}} \]
      2. metadata-evalN/A

        \[\leadsto \frac{1}{3} \cdot \frac{1}{\sqrt{\color{blue}{x}}} \]
      3. un-div-invN/A

        \[\leadsto \frac{\frac{1}{3}}{\color{blue}{\sqrt{x}}} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{x}\right)}\right) \]
      5. sqrt-lowering-sqrt.f6481.1%

        \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right) \]
    9. Applied egg-rr81.1%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{\sqrt{x}}} \]
    10. Step-by-step derivation
      1. metadata-evalN/A

        \[\leadsto \frac{\frac{1}{3}}{\sqrt{\color{blue}{x}}} \]
      2. associate-/r*N/A

        \[\leadsto \frac{1}{\color{blue}{3 \cdot \sqrt{x}}} \]
      3. *-commutativeN/A

        \[\leadsto \frac{1}{\sqrt{x} \cdot \color{blue}{3}} \]
      4. associate-/r*N/A

        \[\leadsto \frac{\frac{1}{\sqrt{x}}}{\color{blue}{3}} \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{\sqrt{x}}\right), \color{blue}{3}\right) \]
      6. pow1/2N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{{x}^{\frac{1}{2}}}\right), 3\right) \]
      7. pow-flipN/A

        \[\leadsto \mathsf{/.f64}\left(\left({x}^{\left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}\right), 3\right) \]
      8. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)\right), 3\right) \]
      9. metadata-eval81.3%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \frac{-1}{2}\right), 3\right) \]
    11. Applied egg-rr81.3%

      \[\leadsto \color{blue}{\frac{{x}^{-0.5}}{3}} \]

    if 1.1200000000000001e-15 < x < 8.00000000000000039e149

    1. Initial program 99.4%

      \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
    2. Step-by-step derivation
      1. *-commutativeN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
      4. sqrt-lowering-sqrt.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      6. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
      8. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
      9. *-lowering-*.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      11. sub-negN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
      13. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
      15. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
      16. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
      17. metadata-evalN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
      20. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      21. associate-*r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      22. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
    3. Simplified99.5%

      \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
    4. Add Preprocessing
    5. Taylor expanded in y around inf

      \[\leadsto \color{blue}{3 \cdot \left(\sqrt{x} \cdot y\right)} \]
    6. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \left(\sqrt{x} \cdot y\right) \cdot \color{blue}{3} \]
      2. associate-*l*N/A

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

        \[\leadsto \sqrt{x} \cdot \left(3 \cdot \color{blue}{y}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot y\right)}\right) \]
      5. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3} \cdot y\right)\right) \]
      6. *-lowering-*.f6457.9%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{*.f64}\left(3, \color{blue}{y}\right)\right) \]
    7. Simplified57.9%

      \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y\right)} \]

    if 8.00000000000000039e149 < x < 6.20000000000000035e205

    1. Initial program 99.7%

      \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
    2. Step-by-step derivation
      1. *-commutativeN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
      4. sqrt-lowering-sqrt.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      6. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
      8. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
      9. *-lowering-*.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      11. sub-negN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
      13. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
      15. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
      16. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
      17. metadata-evalN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
      20. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      21. associate-*r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      22. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
    3. Simplified99.9%

      \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
    4. Add Preprocessing
    5. Taylor expanded in y around 0

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
      3. sub-negN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
      5. +-lowering-+.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
      7. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
      8. /-lowering-/.f6472.5%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
    7. Simplified72.5%

      \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
    8. Taylor expanded in x around inf

      \[\leadsto \color{blue}{-3 \cdot \sqrt{x}} \]
    9. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \sqrt{x} \cdot \color{blue}{-3} \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{-3}\right) \]
      3. sqrt-lowering-sqrt.f6472.5%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), -3\right) \]
    10. Simplified72.5%

      \[\leadsto \color{blue}{\sqrt{x} \cdot -3} \]

    if 6.20000000000000035e205 < x < 2.3e265

    1. Initial program 99.7%

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

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

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

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x} \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right), \color{blue}{3}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(\sqrt{x}\right), \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right), 3\right) \]
      5. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right), 3\right) \]
      6. associate--l+N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(y + \left(\frac{1}{x \cdot 9} - 1\right)\right)\right), 3\right) \]
      7. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \left(\frac{1}{x \cdot 9} - 1\right)\right)\right), 3\right) \]
      8. sub-negN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \left(\frac{1}{x \cdot 9} + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right), 3\right) \]
      9. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \left(\frac{1}{x \cdot 9} + -1\right)\right)\right), 3\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{1}{x \cdot 9}\right), -1\right)\right)\right), 3\right) \]
      11. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{1}{9 \cdot x}\right), -1\right)\right)\right), 3\right) \]
      12. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{\frac{1}{9}}{x}\right), -1\right)\right)\right), 3\right) \]
      13. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{\frac{1}{9}}{x}\right), -1\right)\right)\right), 3\right) \]
      14. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{{9}^{-1}}{x}\right), -1\right)\right)\right), 3\right) \]
      15. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\left({9}^{-1}\right), x\right), -1\right)\right)\right), 3\right) \]
      16. metadata-eval99.8%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right)\right), 3\right) \]
    4. Applied egg-rr99.8%

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

      \[\leadsto \mathsf{*.f64}\left(\color{blue}{\left(\sqrt{x} \cdot y\right)}, 3\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(\sqrt{x}\right), y\right), 3\right) \]
      2. sqrt-lowering-sqrt.f6467.6%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), y\right), 3\right) \]
    7. Simplified67.6%

      \[\leadsto \color{blue}{\left(\sqrt{x} \cdot y\right)} \cdot 3 \]

    if 2.3e265 < x

    1. Initial program 99.5%

      \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
    2. Step-by-step derivation
      1. *-commutativeN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
      4. sqrt-lowering-sqrt.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      6. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
      8. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
      9. *-lowering-*.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
      11. sub-negN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
      13. distribute-lft-inN/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
      15. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
      16. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
      17. metadata-evalN/A

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
      20. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      21. associate-*r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
      22. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
    3. Simplified99.7%

      \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. flip3-+N/A

        \[\leadsto \sqrt{x} \cdot \frac{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}{\color{blue}{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}} \]
      2. clear-numN/A

        \[\leadsto \sqrt{x} \cdot \frac{1}{\color{blue}{\frac{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}}} \]
      3. un-div-invN/A

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

        \[\leadsto \mathsf{/.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(\frac{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}\right)}\right) \]
      5. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{\color{blue}{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}}{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}\right)\right) \]
      6. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{\color{blue}{\frac{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}}}\right)\right) \]
      7. flip3-+N/A

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \color{blue}{\left(3 \cdot y + \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}\right)\right) \]
    6. Applied egg-rr99.6%

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

      \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \color{blue}{\left(\frac{1}{\frac{1}{3} \cdot \frac{1}{x} - 3}\right)}\right) \]
    8. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{1}{3} \cdot \frac{1}{x} - 3\right)}\right)\right) \]
      2. sub-negN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
      3. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right)\right) \]
      4. +-lowering-+.f64N/A

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

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right)\right) \]
      7. /-lowering-/.f6465.6%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right)\right) \]
    9. Simplified65.6%

      \[\leadsto \frac{\sqrt{x}}{\color{blue}{\frac{1}{\frac{0.3333333333333333}{x} + -3}}} \]
    10. Taylor expanded in x around inf

      \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \color{blue}{\frac{-1}{3}}\right) \]
    11. Step-by-step derivation
      1. Simplified65.6%

        \[\leadsto \frac{\sqrt{x}}{\color{blue}{-0.3333333333333333}} \]
    12. Recombined 5 regimes into one program.
    13. Final simplification70.9%

      \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 1.12 \cdot 10^{-15}:\\ \;\;\;\;\frac{{x}^{-0.5}}{3}\\ \mathbf{elif}\;x \leq 8 \cdot 10^{+149}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y\right)\\ \mathbf{elif}\;x \leq 6.2 \cdot 10^{+205}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \mathbf{elif}\;x \leq 2.3 \cdot 10^{+265}:\\ \;\;\;\;3 \cdot \left(\sqrt{x} \cdot y\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{x}}{-0.3333333333333333}\\ \end{array} \]
    14. Add Preprocessing

    Alternative 3: 61.8% accurate, 0.9× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \sqrt{x} \cdot \left(3 \cdot y\right)\\ \mathbf{if}\;x \leq 5.7 \cdot 10^{-11}:\\ \;\;\;\;\frac{{x}^{-0.5}}{3}\\ \mathbf{elif}\;x \leq 1.85 \cdot 10^{+149}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x \leq 1.65 \cdot 10^{+196}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \mathbf{elif}\;x \leq 3.2 \cdot 10^{+266}:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{x}}{-0.3333333333333333}\\ \end{array} \end{array} \]
    (FPCore (x y)
     :precision binary64
     (let* ((t_0 (* (sqrt x) (* 3.0 y))))
       (if (<= x 5.7e-11)
         (/ (pow x -0.5) 3.0)
         (if (<= x 1.85e+149)
           t_0
           (if (<= x 1.65e+196)
             (* (sqrt x) -3.0)
             (if (<= x 3.2e+266) t_0 (/ (sqrt x) -0.3333333333333333)))))))
    double code(double x, double y) {
    	double t_0 = sqrt(x) * (3.0 * y);
    	double tmp;
    	if (x <= 5.7e-11) {
    		tmp = pow(x, -0.5) / 3.0;
    	} else if (x <= 1.85e+149) {
    		tmp = t_0;
    	} else if (x <= 1.65e+196) {
    		tmp = sqrt(x) * -3.0;
    	} else if (x <= 3.2e+266) {
    		tmp = t_0;
    	} else {
    		tmp = sqrt(x) / -0.3333333333333333;
    	}
    	return tmp;
    }
    
    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 = sqrt(x) * (3.0d0 * y)
        if (x <= 5.7d-11) then
            tmp = (x ** (-0.5d0)) / 3.0d0
        else if (x <= 1.85d+149) then
            tmp = t_0
        else if (x <= 1.65d+196) then
            tmp = sqrt(x) * (-3.0d0)
        else if (x <= 3.2d+266) then
            tmp = t_0
        else
            tmp = sqrt(x) / (-0.3333333333333333d0)
        end if
        code = tmp
    end function
    
    public static double code(double x, double y) {
    	double t_0 = Math.sqrt(x) * (3.0 * y);
    	double tmp;
    	if (x <= 5.7e-11) {
    		tmp = Math.pow(x, -0.5) / 3.0;
    	} else if (x <= 1.85e+149) {
    		tmp = t_0;
    	} else if (x <= 1.65e+196) {
    		tmp = Math.sqrt(x) * -3.0;
    	} else if (x <= 3.2e+266) {
    		tmp = t_0;
    	} else {
    		tmp = Math.sqrt(x) / -0.3333333333333333;
    	}
    	return tmp;
    }
    
    def code(x, y):
    	t_0 = math.sqrt(x) * (3.0 * y)
    	tmp = 0
    	if x <= 5.7e-11:
    		tmp = math.pow(x, -0.5) / 3.0
    	elif x <= 1.85e+149:
    		tmp = t_0
    	elif x <= 1.65e+196:
    		tmp = math.sqrt(x) * -3.0
    	elif x <= 3.2e+266:
    		tmp = t_0
    	else:
    		tmp = math.sqrt(x) / -0.3333333333333333
    	return tmp
    
    function code(x, y)
    	t_0 = Float64(sqrt(x) * Float64(3.0 * y))
    	tmp = 0.0
    	if (x <= 5.7e-11)
    		tmp = Float64((x ^ -0.5) / 3.0);
    	elseif (x <= 1.85e+149)
    		tmp = t_0;
    	elseif (x <= 1.65e+196)
    		tmp = Float64(sqrt(x) * -3.0);
    	elseif (x <= 3.2e+266)
    		tmp = t_0;
    	else
    		tmp = Float64(sqrt(x) / -0.3333333333333333);
    	end
    	return tmp
    end
    
    function tmp_2 = code(x, y)
    	t_0 = sqrt(x) * (3.0 * y);
    	tmp = 0.0;
    	if (x <= 5.7e-11)
    		tmp = (x ^ -0.5) / 3.0;
    	elseif (x <= 1.85e+149)
    		tmp = t_0;
    	elseif (x <= 1.65e+196)
    		tmp = sqrt(x) * -3.0;
    	elseif (x <= 3.2e+266)
    		tmp = t_0;
    	else
    		tmp = sqrt(x) / -0.3333333333333333;
    	end
    	tmp_2 = tmp;
    end
    
    code[x_, y_] := Block[{t$95$0 = N[(N[Sqrt[x], $MachinePrecision] * N[(3.0 * y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, 5.7e-11], N[(N[Power[x, -0.5], $MachinePrecision] / 3.0), $MachinePrecision], If[LessEqual[x, 1.85e+149], t$95$0, If[LessEqual[x, 1.65e+196], N[(N[Sqrt[x], $MachinePrecision] * -3.0), $MachinePrecision], If[LessEqual[x, 3.2e+266], t$95$0, N[(N[Sqrt[x], $MachinePrecision] / -0.3333333333333333), $MachinePrecision]]]]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \sqrt{x} \cdot \left(3 \cdot y\right)\\
    \mathbf{if}\;x \leq 5.7 \cdot 10^{-11}:\\
    \;\;\;\;\frac{{x}^{-0.5}}{3}\\
    
    \mathbf{elif}\;x \leq 1.85 \cdot 10^{+149}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;x \leq 1.65 \cdot 10^{+196}:\\
    \;\;\;\;\sqrt{x} \cdot -3\\
    
    \mathbf{elif}\;x \leq 3.2 \cdot 10^{+266}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{\sqrt{x}}{-0.3333333333333333}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 4 regimes
    2. if x < 5.6999999999999997e-11

      1. Initial program 99.4%

        \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
      2. Step-by-step derivation
        1. *-commutativeN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
        4. sqrt-lowering-sqrt.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        6. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
        8. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
        9. *-lowering-*.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        11. sub-negN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
        13. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
        15. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
        16. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
        17. metadata-evalN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
        20. associate-/r*N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        21. associate-*r/N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        22. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
      3. Simplified99.3%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
      4. Add Preprocessing
      5. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt{\frac{1}{x}}} \]
      6. Step-by-step derivation
        1. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{\frac{1}{x}}\right)}\right) \]
        2. sqrt-lowering-sqrt.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\left(\frac{1}{x}\right)\right)\right) \]
        3. /-lowering-/.f6481.1%

          \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right) \]
      7. Simplified81.1%

        \[\leadsto \color{blue}{0.3333333333333333 \cdot \sqrt{\frac{1}{x}}} \]
      8. Step-by-step derivation
        1. sqrt-divN/A

          \[\leadsto \frac{1}{3} \cdot \frac{\sqrt{1}}{\color{blue}{\sqrt{x}}} \]
        2. metadata-evalN/A

          \[\leadsto \frac{1}{3} \cdot \frac{1}{\sqrt{\color{blue}{x}}} \]
        3. un-div-invN/A

          \[\leadsto \frac{\frac{1}{3}}{\color{blue}{\sqrt{x}}} \]
        4. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{x}\right)}\right) \]
        5. sqrt-lowering-sqrt.f6481.1%

          \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right) \]
      9. Applied egg-rr81.1%

        \[\leadsto \color{blue}{\frac{0.3333333333333333}{\sqrt{x}}} \]
      10. Step-by-step derivation
        1. metadata-evalN/A

          \[\leadsto \frac{\frac{1}{3}}{\sqrt{\color{blue}{x}}} \]
        2. associate-/r*N/A

          \[\leadsto \frac{1}{\color{blue}{3 \cdot \sqrt{x}}} \]
        3. *-commutativeN/A

          \[\leadsto \frac{1}{\sqrt{x} \cdot \color{blue}{3}} \]
        4. associate-/r*N/A

          \[\leadsto \frac{\frac{1}{\sqrt{x}}}{\color{blue}{3}} \]
        5. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{\sqrt{x}}\right), \color{blue}{3}\right) \]
        6. pow1/2N/A

          \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{{x}^{\frac{1}{2}}}\right), 3\right) \]
        7. pow-flipN/A

          \[\leadsto \mathsf{/.f64}\left(\left({x}^{\left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}\right), 3\right) \]
        8. pow-lowering-pow.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)\right), 3\right) \]
        9. metadata-eval81.3%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \frac{-1}{2}\right), 3\right) \]
      11. Applied egg-rr81.3%

        \[\leadsto \color{blue}{\frac{{x}^{-0.5}}{3}} \]

      if 5.6999999999999997e-11 < x < 1.84999999999999989e149 or 1.6500000000000001e196 < x < 3.20000000000000021e266

      1. Initial program 99.5%

        \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
      2. Step-by-step derivation
        1. *-commutativeN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
        4. sqrt-lowering-sqrt.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        6. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
        8. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
        9. *-lowering-*.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        11. sub-negN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
        13. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
        15. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
        16. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
        17. metadata-evalN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
        20. associate-/r*N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        21. associate-*r/N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        22. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
      3. Simplified99.6%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
      4. Add Preprocessing
      5. Taylor expanded in y around inf

        \[\leadsto \color{blue}{3 \cdot \left(\sqrt{x} \cdot y\right)} \]
      6. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \left(\sqrt{x} \cdot y\right) \cdot \color{blue}{3} \]
        2. associate-*l*N/A

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

          \[\leadsto \sqrt{x} \cdot \left(3 \cdot \color{blue}{y}\right) \]
        4. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot y\right)}\right) \]
        5. sqrt-lowering-sqrt.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3} \cdot y\right)\right) \]
        6. *-lowering-*.f6460.8%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{*.f64}\left(3, \color{blue}{y}\right)\right) \]
      7. Simplified60.8%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y\right)} \]

      if 1.84999999999999989e149 < x < 1.6500000000000001e196

      1. Initial program 99.7%

        \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
      2. Step-by-step derivation
        1. *-commutativeN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
        4. sqrt-lowering-sqrt.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        6. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
        8. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
        9. *-lowering-*.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        11. sub-negN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
        13. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
        15. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
        16. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
        17. metadata-evalN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
        20. associate-/r*N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        21. associate-*r/N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        22. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
      3. Simplified99.9%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
      4. Add Preprocessing
      5. Taylor expanded in y around 0

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
        3. sub-negN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
        4. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
        5. +-lowering-+.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
        7. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
        8. /-lowering-/.f6472.5%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
      7. Simplified72.5%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
      8. Taylor expanded in x around inf

        \[\leadsto \color{blue}{-3 \cdot \sqrt{x}} \]
      9. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \sqrt{x} \cdot \color{blue}{-3} \]
        2. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{-3}\right) \]
        3. sqrt-lowering-sqrt.f6472.5%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), -3\right) \]
      10. Simplified72.5%

        \[\leadsto \color{blue}{\sqrt{x} \cdot -3} \]

      if 3.20000000000000021e266 < x

      1. Initial program 99.5%

        \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
      2. Step-by-step derivation
        1. *-commutativeN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
        4. sqrt-lowering-sqrt.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        6. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
        8. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
        9. *-lowering-*.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        11. sub-negN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
        13. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
        15. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
        16. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
        17. metadata-evalN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
        20. associate-/r*N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        21. associate-*r/N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        22. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
      3. Simplified99.7%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
      4. Add Preprocessing
      5. Step-by-step derivation
        1. flip3-+N/A

          \[\leadsto \sqrt{x} \cdot \frac{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}{\color{blue}{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}} \]
        2. clear-numN/A

          \[\leadsto \sqrt{x} \cdot \frac{1}{\color{blue}{\frac{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}}} \]
        3. un-div-invN/A

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

          \[\leadsto \mathsf{/.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(\frac{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}\right)}\right) \]
        5. sqrt-lowering-sqrt.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{\color{blue}{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}}{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}\right)\right) \]
        6. clear-numN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{\color{blue}{\frac{{\left(3 \cdot y\right)}^{3} + {\left(-3 + \frac{\frac{1}{3}}{x}\right)}^{3}}{\left(3 \cdot y\right) \cdot \left(3 \cdot y\right) + \left(\left(-3 + \frac{\frac{1}{3}}{x}\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right) - \left(3 \cdot y\right) \cdot \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}}}\right)\right) \]
        7. flip3-+N/A

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \color{blue}{\left(3 \cdot y + \left(-3 + \frac{\frac{1}{3}}{x}\right)\right)}\right)\right) \]
      6. Applied egg-rr99.6%

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

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \color{blue}{\left(\frac{1}{\frac{1}{3} \cdot \frac{1}{x} - 3}\right)}\right) \]
      8. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{1}{3} \cdot \frac{1}{x} - 3\right)}\right)\right) \]
        2. sub-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right)\right) \]
        3. metadata-evalN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right)\right) \]
        4. +-lowering-+.f64N/A

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

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

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right)\right) \]
        7. /-lowering-/.f6465.6%

          \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right)\right) \]
      9. Simplified65.6%

        \[\leadsto \frac{\sqrt{x}}{\color{blue}{\frac{1}{\frac{0.3333333333333333}{x} + -3}}} \]
      10. Taylor expanded in x around inf

        \[\leadsto \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(x\right), \color{blue}{\frac{-1}{3}}\right) \]
      11. Step-by-step derivation
        1. Simplified65.6%

          \[\leadsto \frac{\sqrt{x}}{\color{blue}{-0.3333333333333333}} \]
      12. Recombined 4 regimes into one program.
      13. Add Preprocessing

      Alternative 4: 98.3% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.11:\\ \;\;\;\;\frac{y + \frac{0.1111111111111111}{x}}{\frac{0.3333333333333333}{\sqrt{x}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 0.11)
         (/ (+ y (/ 0.1111111111111111 x)) (/ 0.3333333333333333 (sqrt x)))
         (* (sqrt x) (+ (* 3.0 y) -3.0))))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 0.11) {
      		tmp = (y + (0.1111111111111111 / x)) / (0.3333333333333333 / sqrt(x));
      	} else {
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 0.11d0) then
              tmp = (y + (0.1111111111111111d0 / x)) / (0.3333333333333333d0 / sqrt(x))
          else
              tmp = sqrt(x) * ((3.0d0 * y) + (-3.0d0))
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 0.11) {
      		tmp = (y + (0.1111111111111111 / x)) / (0.3333333333333333 / Math.sqrt(x));
      	} else {
      		tmp = Math.sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 0.11:
      		tmp = (y + (0.1111111111111111 / x)) / (0.3333333333333333 / math.sqrt(x))
      	else:
      		tmp = math.sqrt(x) * ((3.0 * y) + -3.0)
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 0.11)
      		tmp = Float64(Float64(y + Float64(0.1111111111111111 / x)) / Float64(0.3333333333333333 / sqrt(x)));
      	else
      		tmp = Float64(sqrt(x) * Float64(Float64(3.0 * y) + -3.0));
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 0.11)
      		tmp = (y + (0.1111111111111111 / x)) / (0.3333333333333333 / sqrt(x));
      	else
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 0.11], N[(N[(y + N[(0.1111111111111111 / x), $MachinePrecision]), $MachinePrecision] / N[(0.3333333333333333 / N[Sqrt[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * N[(N[(3.0 * y), $MachinePrecision] + -3.0), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 0.11:\\
      \;\;\;\;\frac{y + \frac{0.1111111111111111}{x}}{\frac{0.3333333333333333}{\sqrt{x}}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 0.110000000000000001

        1. Initial program 99.4%

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

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x} \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right), \color{blue}{3}\right) \]
          4. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(\sqrt{x}\right), \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right), 3\right) \]
          5. sqrt-lowering-sqrt.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right), 3\right) \]
          6. associate--l+N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(y + \left(\frac{1}{x \cdot 9} - 1\right)\right)\right), 3\right) \]
          7. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \left(\frac{1}{x \cdot 9} - 1\right)\right)\right), 3\right) \]
          8. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \left(\frac{1}{x \cdot 9} + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right), 3\right) \]
          9. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \left(\frac{1}{x \cdot 9} + -1\right)\right)\right), 3\right) \]
          10. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{1}{x \cdot 9}\right), -1\right)\right)\right), 3\right) \]
          11. *-commutativeN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{1}{9 \cdot x}\right), -1\right)\right)\right), 3\right) \]
          12. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{\frac{1}{9}}{x}\right), -1\right)\right)\right), 3\right) \]
          13. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{\frac{1}{9}}{x}\right), -1\right)\right)\right), 3\right) \]
          14. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{{9}^{-1}}{x}\right), -1\right)\right)\right), 3\right) \]
          15. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\left({9}^{-1}\right), x\right), -1\right)\right)\right), 3\right) \]
          16. metadata-eval99.3%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right)\right), 3\right) \]
        4. Applied egg-rr99.3%

          \[\leadsto \color{blue}{\left(\sqrt{x} \cdot \left(y + \left(\frac{0.1111111111111111}{x} + -1\right)\right)\right) \cdot 3} \]
        5. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \left(\left(y + \left(\frac{\frac{1}{9}}{x} + -1\right)\right) \cdot \sqrt{x}\right) \cdot 3 \]
          2. associate-*l*N/A

            \[\leadsto \left(y + \left(\frac{\frac{1}{9}}{x} + -1\right)\right) \cdot \color{blue}{\left(\sqrt{x} \cdot 3\right)} \]
          3. remove-double-divN/A

            \[\leadsto \frac{1}{\frac{1}{y + \left(\frac{\frac{1}{9}}{x} + -1\right)}} \cdot \left(\color{blue}{\sqrt{x}} \cdot 3\right) \]
          4. associate-/r/N/A

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

            \[\leadsto \mathsf{/.f64}\left(1, \color{blue}{\left(\frac{\frac{1}{y + \left(\frac{\frac{1}{9}}{x} + -1\right)}}{\sqrt{x} \cdot 3}\right)}\right) \]
          6. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\left(\frac{1}{y + \left(\frac{\frac{1}{9}}{x} + -1\right)}\right), \color{blue}{\left(\sqrt{x} \cdot 3\right)}\right)\right) \]
          7. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \left(y + \left(\frac{\frac{1}{9}}{x} + -1\right)\right)\right), \left(\color{blue}{\sqrt{x}} \cdot 3\right)\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(y, \left(\frac{\frac{1}{9}}{x} + -1\right)\right)\right), \left(\sqrt{x} \cdot 3\right)\right)\right) \]
          9. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{\frac{1}{9}}{x}\right), -1\right)\right)\right), \left(\sqrt{x} \cdot 3\right)\right)\right) \]
          10. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right)\right), \left(\sqrt{x} \cdot 3\right)\right)\right) \]
          11. *-lowering-*.f64N/A

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right)\right), \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{3}\right)\right)\right) \]
          12. sqrt-lowering-sqrt.f6499.1%

            \[\leadsto \mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), 3\right)\right)\right) \]
        6. Applied egg-rr99.1%

          \[\leadsto \color{blue}{\frac{1}{\frac{\frac{1}{y + \left(\frac{0.1111111111111111}{x} + -1\right)}}{\sqrt{x} \cdot 3}}} \]
        7. Step-by-step derivation
          1. div-invN/A

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

            \[\leadsto \frac{\frac{1}{\frac{1}{y + \left(\frac{\frac{1}{9}}{x} + -1\right)}}}{\color{blue}{\frac{1}{\sqrt{x} \cdot 3}}} \]
          3. remove-double-divN/A

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

            \[\leadsto \mathsf{/.f64}\left(\left(y + \left(\frac{\frac{1}{9}}{x} + -1\right)\right), \color{blue}{\left(\frac{1}{\sqrt{x} \cdot 3}\right)}\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \left(\frac{\frac{1}{9}}{x} + -1\right)\right), \left(\frac{\color{blue}{1}}{\sqrt{x} \cdot 3}\right)\right) \]
          6. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{\frac{1}{9}}{x}\right), -1\right)\right), \left(\frac{1}{\sqrt{x} \cdot 3}\right)\right) \]
          7. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right), \left(\frac{1}{\sqrt{x} \cdot 3}\right)\right) \]
          8. *-commutativeN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right), \left(\frac{1}{3 \cdot \color{blue}{\sqrt{x}}}\right)\right) \]
          9. associate-/r*N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right), \left(\frac{\frac{1}{3}}{\color{blue}{\sqrt{x}}}\right)\right) \]
          10. metadata-evalN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right), \left(\frac{\frac{1}{3}}{\sqrt{\color{blue}{x}}}\right)\right) \]
          11. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right), \mathsf{/.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{x}\right)}\right)\right) \]
          12. sqrt-lowering-sqrt.f6499.4%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{9}, x\right), -1\right)\right), \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right)\right) \]
        8. Applied egg-rr99.4%

          \[\leadsto \color{blue}{\frac{y + \left(\frac{0.1111111111111111}{x} + -1\right)}{\frac{0.3333333333333333}{\sqrt{x}}}} \]
        9. Taylor expanded in x around 0

          \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \color{blue}{\left(\frac{\frac{1}{9}}{x}\right)}\right), \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right)\right) \]
        10. Step-by-step derivation
          1. /-lowering-/.f6497.2%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(y, \mathsf{/.f64}\left(\frac{1}{9}, x\right)\right), \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right)\right) \]
        11. Simplified97.2%

          \[\leadsto \frac{y + \color{blue}{\frac{0.1111111111111111}{x}}}{\frac{0.3333333333333333}{\sqrt{x}}} \]

        if 0.110000000000000001 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around inf

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y - 3\right)} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3 \cdot y} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + -3\right)\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{-3}\right)\right) \]
          6. *-lowering-*.f6498.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), -3\right)\right) \]
        7. Simplified98.7%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + -3\right)} \]
      3. Recombined 2 regimes into one program.
      4. Add Preprocessing

      Alternative 5: 86.4% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.038:\\ \;\;\;\;\sqrt{x} \cdot \left(-3 + 3 \cdot \frac{0.1111111111111111}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 0.038)
         (* (sqrt x) (+ -3.0 (* 3.0 (/ 0.1111111111111111 x))))
         (* (sqrt x) (+ (* 3.0 y) -3.0))))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 0.038) {
      		tmp = sqrt(x) * (-3.0 + (3.0 * (0.1111111111111111 / x)));
      	} else {
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 0.038d0) then
              tmp = sqrt(x) * ((-3.0d0) + (3.0d0 * (0.1111111111111111d0 / x)))
          else
              tmp = sqrt(x) * ((3.0d0 * y) + (-3.0d0))
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 0.038) {
      		tmp = Math.sqrt(x) * (-3.0 + (3.0 * (0.1111111111111111 / x)));
      	} else {
      		tmp = Math.sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 0.038:
      		tmp = math.sqrt(x) * (-3.0 + (3.0 * (0.1111111111111111 / x)))
      	else:
      		tmp = math.sqrt(x) * ((3.0 * y) + -3.0)
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 0.038)
      		tmp = Float64(sqrt(x) * Float64(-3.0 + Float64(3.0 * Float64(0.1111111111111111 / x))));
      	else
      		tmp = Float64(sqrt(x) * Float64(Float64(3.0 * y) + -3.0));
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 0.038)
      		tmp = sqrt(x) * (-3.0 + (3.0 * (0.1111111111111111 / x)));
      	else
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 0.038], N[(N[Sqrt[x], $MachinePrecision] * N[(-3.0 + N[(3.0 * N[(0.1111111111111111 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * N[(N[(3.0 * y), $MachinePrecision] + -3.0), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 0.038:\\
      \;\;\;\;\sqrt{x} \cdot \left(-3 + 3 \cdot \frac{0.1111111111111111}{x}\right)\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 0.0379999999999999991

        1. Initial program 99.4%

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

          \[\leadsto \color{blue}{3 \cdot \left(\sqrt{x} \cdot \left(\frac{1}{9} \cdot \frac{1}{x} - 1\right)\right)} \]
        4. Step-by-step derivation
          1. associate-*r*N/A

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

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

            \[\leadsto \sqrt{x} \cdot \color{blue}{\left(3 \cdot \left(\frac{1}{9} \cdot \frac{1}{x} - 1\right)\right)} \]
          4. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\frac{1}{9} \cdot \frac{1}{x} - 1\right)\right)}\right) \]
          5. sqrt-lowering-sqrt.f64N/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(\frac{1}{9} \cdot \frac{1}{x} + -1\right)\right)\right) \]
          8. +-commutativeN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(-1 + \color{blue}{\frac{1}{9} \cdot \frac{1}{x}}\right)\right)\right) \]
          9. distribute-lft-inN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot -1 + \color{blue}{3 \cdot \left(\frac{1}{9} \cdot \frac{1}{x}\right)}\right)\right) \]
          10. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(3, \color{blue}{\left(\frac{1}{9} \cdot \frac{1}{x}\right)}\right)\right)\right) \]
          13. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(3, \left(\frac{\frac{1}{9} \cdot 1}{\color{blue}{x}}\right)\right)\right)\right) \]
          14. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(3, \left(\frac{\frac{1}{9}}{x}\right)\right)\right)\right) \]
          15. /-lowering-/.f6479.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(-3, \mathsf{*.f64}\left(3, \mathsf{/.f64}\left(\frac{1}{9}, \color{blue}{x}\right)\right)\right)\right) \]
        5. Simplified79.7%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(-3 + 3 \cdot \frac{0.1111111111111111}{x}\right)} \]

        if 0.0379999999999999991 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around inf

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y - 3\right)} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3 \cdot y} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + -3\right)\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{-3}\right)\right) \]
          6. *-lowering-*.f6498.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), -3\right)\right) \]
        7. Simplified98.7%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + -3\right)} \]
      3. Recombined 2 regimes into one program.
      4. Add Preprocessing

      Alternative 6: 86.4% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.42:\\ \;\;\;\;\frac{-3 + \frac{0.3333333333333333}{x}}{{x}^{-0.5}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 0.42)
         (/ (+ -3.0 (/ 0.3333333333333333 x)) (pow x -0.5))
         (* (sqrt x) (+ (* 3.0 y) -3.0))))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 0.42) {
      		tmp = (-3.0 + (0.3333333333333333 / x)) / pow(x, -0.5);
      	} else {
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 0.42d0) then
              tmp = ((-3.0d0) + (0.3333333333333333d0 / x)) / (x ** (-0.5d0))
          else
              tmp = sqrt(x) * ((3.0d0 * y) + (-3.0d0))
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 0.42) {
      		tmp = (-3.0 + (0.3333333333333333 / x)) / Math.pow(x, -0.5);
      	} else {
      		tmp = Math.sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 0.42:
      		tmp = (-3.0 + (0.3333333333333333 / x)) / math.pow(x, -0.5)
      	else:
      		tmp = math.sqrt(x) * ((3.0 * y) + -3.0)
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 0.42)
      		tmp = Float64(Float64(-3.0 + Float64(0.3333333333333333 / x)) / (x ^ -0.5));
      	else
      		tmp = Float64(sqrt(x) * Float64(Float64(3.0 * y) + -3.0));
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 0.42)
      		tmp = (-3.0 + (0.3333333333333333 / x)) / (x ^ -0.5);
      	else
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 0.42], N[(N[(-3.0 + N[(0.3333333333333333 / x), $MachinePrecision]), $MachinePrecision] / N[Power[x, -0.5], $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * N[(N[(3.0 * y), $MachinePrecision] + -3.0), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 0.42:\\
      \;\;\;\;\frac{-3 + \frac{0.3333333333333333}{x}}{{x}^{-0.5}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 0.419999999999999984

        1. Initial program 99.4%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.3%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in y around 0

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
          5. +-lowering-+.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
          7. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
          8. /-lowering-/.f6479.6%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
        7. Simplified79.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
        8. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \left(\frac{\frac{1}{3}}{x} + -3\right) \cdot \color{blue}{\sqrt{x}} \]
          2. remove-double-divN/A

            \[\leadsto \left(\frac{\frac{1}{3}}{x} + -3\right) \cdot \frac{1}{\color{blue}{\frac{1}{\sqrt{x}}}} \]
          3. un-div-invN/A

            \[\leadsto \frac{\frac{\frac{1}{3}}{x} + -3}{\color{blue}{\frac{1}{\sqrt{x}}}} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{\frac{1}{3}}{x} + -3\right), \color{blue}{\left(\frac{1}{\sqrt{x}}\right)}\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right), \left(\frac{\color{blue}{1}}{\sqrt{x}}\right)\right) \]
          6. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right), \left(\frac{1}{\sqrt{x}}\right)\right) \]
          7. pow1/2N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right), \left(\frac{1}{{x}^{\color{blue}{\frac{1}{2}}}}\right)\right) \]
          8. pow-flipN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right), \left({x}^{\color{blue}{\left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}}\right)\right) \]
          9. metadata-evalN/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right), \left({x}^{\frac{-1}{2}}\right)\right) \]
          10. pow-lowering-pow.f6479.7%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right), \mathsf{pow.f64}\left(x, \color{blue}{\frac{-1}{2}}\right)\right) \]
        9. Applied egg-rr79.7%

          \[\leadsto \color{blue}{\frac{\frac{0.3333333333333333}{x} + -3}{{x}^{-0.5}}} \]

        if 0.419999999999999984 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around inf

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y - 3\right)} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3 \cdot y} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + -3\right)\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{-3}\right)\right) \]
          6. *-lowering-*.f6498.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), -3\right)\right) \]
        7. Simplified98.7%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + -3\right)} \]
      3. Recombined 2 regimes into one program.
      4. Final simplification90.1%

        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 0.42:\\ \;\;\;\;\frac{-3 + \frac{0.3333333333333333}{x}}{{x}^{-0.5}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \]
      5. Add Preprocessing

      Alternative 7: 86.4% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.16:\\ \;\;\;\;\sqrt{x} \cdot \left(-3 + \frac{0.3333333333333333}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 0.16)
         (* (sqrt x) (+ -3.0 (/ 0.3333333333333333 x)))
         (* (sqrt x) (+ (* 3.0 y) -3.0))))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 0.16) {
      		tmp = sqrt(x) * (-3.0 + (0.3333333333333333 / x));
      	} else {
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 0.16d0) then
              tmp = sqrt(x) * ((-3.0d0) + (0.3333333333333333d0 / x))
          else
              tmp = sqrt(x) * ((3.0d0 * y) + (-3.0d0))
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 0.16) {
      		tmp = Math.sqrt(x) * (-3.0 + (0.3333333333333333 / x));
      	} else {
      		tmp = Math.sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 0.16:
      		tmp = math.sqrt(x) * (-3.0 + (0.3333333333333333 / x))
      	else:
      		tmp = math.sqrt(x) * ((3.0 * y) + -3.0)
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 0.16)
      		tmp = Float64(sqrt(x) * Float64(-3.0 + Float64(0.3333333333333333 / x)));
      	else
      		tmp = Float64(sqrt(x) * Float64(Float64(3.0 * y) + -3.0));
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 0.16)
      		tmp = sqrt(x) * (-3.0 + (0.3333333333333333 / x));
      	else
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 0.16], N[(N[Sqrt[x], $MachinePrecision] * N[(-3.0 + N[(0.3333333333333333 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * N[(N[(3.0 * y), $MachinePrecision] + -3.0), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 0.16:\\
      \;\;\;\;\sqrt{x} \cdot \left(-3 + \frac{0.3333333333333333}{x}\right)\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 0.160000000000000003

        1. Initial program 99.4%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.3%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in y around 0

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
          5. +-lowering-+.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
          7. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
          8. /-lowering-/.f6479.6%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
        7. Simplified79.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]

        if 0.160000000000000003 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around inf

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y - 3\right)} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3 \cdot y} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + -3\right)\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{-3}\right)\right) \]
          6. *-lowering-*.f6498.7%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), -3\right)\right) \]
        7. Simplified98.7%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + -3\right)} \]
      3. Recombined 2 regimes into one program.
      4. Final simplification90.0%

        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 0.16:\\ \;\;\;\;\sqrt{x} \cdot \left(-3 + \frac{0.3333333333333333}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \]
      5. Add Preprocessing

      Alternative 8: 86.3% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 3.8 \cdot 10^{-11}:\\ \;\;\;\;\frac{{x}^{-0.5}}{3}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 3.8e-11) (/ (pow x -0.5) 3.0) (* (sqrt x) (+ (* 3.0 y) -3.0))))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 3.8e-11) {
      		tmp = pow(x, -0.5) / 3.0;
      	} else {
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 3.8d-11) then
              tmp = (x ** (-0.5d0)) / 3.0d0
          else
              tmp = sqrt(x) * ((3.0d0 * y) + (-3.0d0))
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 3.8e-11) {
      		tmp = Math.pow(x, -0.5) / 3.0;
      	} else {
      		tmp = Math.sqrt(x) * ((3.0 * y) + -3.0);
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 3.8e-11:
      		tmp = math.pow(x, -0.5) / 3.0
      	else:
      		tmp = math.sqrt(x) * ((3.0 * y) + -3.0)
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 3.8e-11)
      		tmp = Float64((x ^ -0.5) / 3.0);
      	else
      		tmp = Float64(sqrt(x) * Float64(Float64(3.0 * y) + -3.0));
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 3.8e-11)
      		tmp = (x ^ -0.5) / 3.0;
      	else
      		tmp = sqrt(x) * ((3.0 * y) + -3.0);
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 3.8e-11], N[(N[Power[x, -0.5], $MachinePrecision] / 3.0), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * N[(N[(3.0 * y), $MachinePrecision] + -3.0), $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 3.8 \cdot 10^{-11}:\\
      \;\;\;\;\frac{{x}^{-0.5}}{3}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot \left(3 \cdot y + -3\right)\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 3.7999999999999998e-11

        1. Initial program 99.4%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.3%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt{\frac{1}{x}}} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{\frac{1}{x}}\right)}\right) \]
          2. sqrt-lowering-sqrt.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\left(\frac{1}{x}\right)\right)\right) \]
          3. /-lowering-/.f6481.1%

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right) \]
        7. Simplified81.1%

          \[\leadsto \color{blue}{0.3333333333333333 \cdot \sqrt{\frac{1}{x}}} \]
        8. Step-by-step derivation
          1. sqrt-divN/A

            \[\leadsto \frac{1}{3} \cdot \frac{\sqrt{1}}{\color{blue}{\sqrt{x}}} \]
          2. metadata-evalN/A

            \[\leadsto \frac{1}{3} \cdot \frac{1}{\sqrt{\color{blue}{x}}} \]
          3. un-div-invN/A

            \[\leadsto \frac{\frac{1}{3}}{\color{blue}{\sqrt{x}}} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{x}\right)}\right) \]
          5. sqrt-lowering-sqrt.f6481.1%

            \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right) \]
        9. Applied egg-rr81.1%

          \[\leadsto \color{blue}{\frac{0.3333333333333333}{\sqrt{x}}} \]
        10. Step-by-step derivation
          1. metadata-evalN/A

            \[\leadsto \frac{\frac{1}{3}}{\sqrt{\color{blue}{x}}} \]
          2. associate-/r*N/A

            \[\leadsto \frac{1}{\color{blue}{3 \cdot \sqrt{x}}} \]
          3. *-commutativeN/A

            \[\leadsto \frac{1}{\sqrt{x} \cdot \color{blue}{3}} \]
          4. associate-/r*N/A

            \[\leadsto \frac{\frac{1}{\sqrt{x}}}{\color{blue}{3}} \]
          5. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{\sqrt{x}}\right), \color{blue}{3}\right) \]
          6. pow1/2N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{{x}^{\frac{1}{2}}}\right), 3\right) \]
          7. pow-flipN/A

            \[\leadsto \mathsf{/.f64}\left(\left({x}^{\left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}\right), 3\right) \]
          8. pow-lowering-pow.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)\right), 3\right) \]
          9. metadata-eval81.3%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \frac{-1}{2}\right), 3\right) \]
        11. Applied egg-rr81.3%

          \[\leadsto \color{blue}{\frac{{x}^{-0.5}}{3}} \]

        if 3.7999999999999998e-11 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around inf

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y - 3\right)} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{3 \cdot y} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + -3\right)\right) \]
          5. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{-3}\right)\right) \]
          6. *-lowering-*.f6496.0%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), -3\right)\right) \]
        7. Simplified96.0%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + -3\right)} \]
      3. Recombined 2 regimes into one program.
      4. Add Preprocessing

      Alternative 9: 61.5% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 2600:\\ \;\;\;\;\frac{{x}^{-0.5}}{3}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 2600.0) (/ (pow x -0.5) 3.0) (* (sqrt x) -3.0)))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 2600.0) {
      		tmp = pow(x, -0.5) / 3.0;
      	} else {
      		tmp = sqrt(x) * -3.0;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 2600.0d0) then
              tmp = (x ** (-0.5d0)) / 3.0d0
          else
              tmp = sqrt(x) * (-3.0d0)
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 2600.0) {
      		tmp = Math.pow(x, -0.5) / 3.0;
      	} else {
      		tmp = Math.sqrt(x) * -3.0;
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 2600.0:
      		tmp = math.pow(x, -0.5) / 3.0
      	else:
      		tmp = math.sqrt(x) * -3.0
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 2600.0)
      		tmp = Float64((x ^ -0.5) / 3.0);
      	else
      		tmp = Float64(sqrt(x) * -3.0);
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 2600.0)
      		tmp = (x ^ -0.5) / 3.0;
      	else
      		tmp = sqrt(x) * -3.0;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 2600.0], N[(N[Power[x, -0.5], $MachinePrecision] / 3.0), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * -3.0), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 2600:\\
      \;\;\;\;\frac{{x}^{-0.5}}{3}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot -3\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 2600

        1. Initial program 99.4%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.3%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt{\frac{1}{x}}} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{\frac{1}{x}}\right)}\right) \]
          2. sqrt-lowering-sqrt.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\left(\frac{1}{x}\right)\right)\right) \]
          3. /-lowering-/.f6476.2%

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right) \]
        7. Simplified76.2%

          \[\leadsto \color{blue}{0.3333333333333333 \cdot \sqrt{\frac{1}{x}}} \]
        8. Step-by-step derivation
          1. sqrt-divN/A

            \[\leadsto \frac{1}{3} \cdot \frac{\sqrt{1}}{\color{blue}{\sqrt{x}}} \]
          2. metadata-evalN/A

            \[\leadsto \frac{1}{3} \cdot \frac{1}{\sqrt{\color{blue}{x}}} \]
          3. un-div-invN/A

            \[\leadsto \frac{\frac{1}{3}}{\color{blue}{\sqrt{x}}} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{x}\right)}\right) \]
          5. sqrt-lowering-sqrt.f6476.3%

            \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right) \]
        9. Applied egg-rr76.3%

          \[\leadsto \color{blue}{\frac{0.3333333333333333}{\sqrt{x}}} \]
        10. Step-by-step derivation
          1. metadata-evalN/A

            \[\leadsto \frac{\frac{1}{3}}{\sqrt{\color{blue}{x}}} \]
          2. associate-/r*N/A

            \[\leadsto \frac{1}{\color{blue}{3 \cdot \sqrt{x}}} \]
          3. *-commutativeN/A

            \[\leadsto \frac{1}{\sqrt{x} \cdot \color{blue}{3}} \]
          4. associate-/r*N/A

            \[\leadsto \frac{\frac{1}{\sqrt{x}}}{\color{blue}{3}} \]
          5. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{\sqrt{x}}\right), \color{blue}{3}\right) \]
          6. pow1/2N/A

            \[\leadsto \mathsf{/.f64}\left(\left(\frac{1}{{x}^{\frac{1}{2}}}\right), 3\right) \]
          7. pow-flipN/A

            \[\leadsto \mathsf{/.f64}\left(\left({x}^{\left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}\right), 3\right) \]
          8. pow-lowering-pow.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)\right), 3\right) \]
          9. metadata-eval76.4%

            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(x, \frac{-1}{2}\right), 3\right) \]
        11. Applied egg-rr76.4%

          \[\leadsto \color{blue}{\frac{{x}^{-0.5}}{3}} \]

        if 2600 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in y around 0

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
          5. +-lowering-+.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
          7. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
          8. /-lowering-/.f6447.9%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
        7. Simplified47.9%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
        8. Taylor expanded in x around inf

          \[\leadsto \color{blue}{-3 \cdot \sqrt{x}} \]
        9. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \sqrt{x} \cdot \color{blue}{-3} \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{-3}\right) \]
          3. sqrt-lowering-sqrt.f6446.9%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), -3\right) \]
        10. Simplified46.9%

          \[\leadsto \color{blue}{\sqrt{x} \cdot -3} \]
      3. Recombined 2 regimes into one program.
      4. Add Preprocessing

      Alternative 10: 61.4% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 2600:\\ \;\;\;\;0.3333333333333333 \cdot {x}^{-0.5}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 2600.0) (* 0.3333333333333333 (pow x -0.5)) (* (sqrt x) -3.0)))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 2600.0) {
      		tmp = 0.3333333333333333 * pow(x, -0.5);
      	} else {
      		tmp = sqrt(x) * -3.0;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 2600.0d0) then
              tmp = 0.3333333333333333d0 * (x ** (-0.5d0))
          else
              tmp = sqrt(x) * (-3.0d0)
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 2600.0) {
      		tmp = 0.3333333333333333 * Math.pow(x, -0.5);
      	} else {
      		tmp = Math.sqrt(x) * -3.0;
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 2600.0:
      		tmp = 0.3333333333333333 * math.pow(x, -0.5)
      	else:
      		tmp = math.sqrt(x) * -3.0
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 2600.0)
      		tmp = Float64(0.3333333333333333 * (x ^ -0.5));
      	else
      		tmp = Float64(sqrt(x) * -3.0);
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 2600.0)
      		tmp = 0.3333333333333333 * (x ^ -0.5);
      	else
      		tmp = sqrt(x) * -3.0;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 2600.0], N[(0.3333333333333333 * N[Power[x, -0.5], $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * -3.0), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 2600:\\
      \;\;\;\;0.3333333333333333 \cdot {x}^{-0.5}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot -3\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 2600

        1. Initial program 99.4%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.3%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt{\frac{1}{x}}} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{\frac{1}{x}}\right)}\right) \]
          2. sqrt-lowering-sqrt.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\left(\frac{1}{x}\right)\right)\right) \]
          3. /-lowering-/.f6476.2%

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right) \]
        7. Simplified76.2%

          \[\leadsto \color{blue}{0.3333333333333333 \cdot \sqrt{\frac{1}{x}}} \]
        8. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \sqrt{\frac{1}{x}} \cdot \color{blue}{\frac{1}{3}} \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{\frac{1}{x}}\right), \color{blue}{\frac{1}{3}}\right) \]
          3. pow1/2N/A

            \[\leadsto \mathsf{*.f64}\left(\left({\left(\frac{1}{x}\right)}^{\frac{1}{2}}\right), \frac{1}{3}\right) \]
          4. inv-powN/A

            \[\leadsto \mathsf{*.f64}\left(\left({\left({x}^{-1}\right)}^{\frac{1}{2}}\right), \frac{1}{3}\right) \]
          5. pow-powN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(x, \left(-1 \cdot \frac{1}{2}\right)\right), \frac{1}{3}\right) \]
          7. metadata-eval76.3%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(x, \frac{-1}{2}\right), \frac{1}{3}\right) \]
        9. Applied egg-rr76.3%

          \[\leadsto \color{blue}{{x}^{-0.5} \cdot 0.3333333333333333} \]

        if 2600 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in y around 0

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
          5. +-lowering-+.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
          7. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
          8. /-lowering-/.f6447.9%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
        7. Simplified47.9%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
        8. Taylor expanded in x around inf

          \[\leadsto \color{blue}{-3 \cdot \sqrt{x}} \]
        9. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \sqrt{x} \cdot \color{blue}{-3} \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{-3}\right) \]
          3. sqrt-lowering-sqrt.f6446.9%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), -3\right) \]
        10. Simplified46.9%

          \[\leadsto \color{blue}{\sqrt{x} \cdot -3} \]
      3. Recombined 2 regimes into one program.
      4. Final simplification60.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 2600:\\ \;\;\;\;0.3333333333333333 \cdot {x}^{-0.5}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \end{array} \]
      5. Add Preprocessing

      Alternative 11: 61.4% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 2600:\\ \;\;\;\;\frac{0.3333333333333333}{\sqrt{x}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{x} \cdot -3\\ \end{array} \end{array} \]
      (FPCore (x y)
       :precision binary64
       (if (<= x 2600.0) (/ 0.3333333333333333 (sqrt x)) (* (sqrt x) -3.0)))
      double code(double x, double y) {
      	double tmp;
      	if (x <= 2600.0) {
      		tmp = 0.3333333333333333 / sqrt(x);
      	} else {
      		tmp = sqrt(x) * -3.0;
      	}
      	return tmp;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8) :: tmp
          if (x <= 2600.0d0) then
              tmp = 0.3333333333333333d0 / sqrt(x)
          else
              tmp = sqrt(x) * (-3.0d0)
          end if
          code = tmp
      end function
      
      public static double code(double x, double y) {
      	double tmp;
      	if (x <= 2600.0) {
      		tmp = 0.3333333333333333 / Math.sqrt(x);
      	} else {
      		tmp = Math.sqrt(x) * -3.0;
      	}
      	return tmp;
      }
      
      def code(x, y):
      	tmp = 0
      	if x <= 2600.0:
      		tmp = 0.3333333333333333 / math.sqrt(x)
      	else:
      		tmp = math.sqrt(x) * -3.0
      	return tmp
      
      function code(x, y)
      	tmp = 0.0
      	if (x <= 2600.0)
      		tmp = Float64(0.3333333333333333 / sqrt(x));
      	else
      		tmp = Float64(sqrt(x) * -3.0);
      	end
      	return tmp
      end
      
      function tmp_2 = code(x, y)
      	tmp = 0.0;
      	if (x <= 2600.0)
      		tmp = 0.3333333333333333 / sqrt(x);
      	else
      		tmp = sqrt(x) * -3.0;
      	end
      	tmp_2 = tmp;
      end
      
      code[x_, y_] := If[LessEqual[x, 2600.0], N[(0.3333333333333333 / N[Sqrt[x], $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[x], $MachinePrecision] * -3.0), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;x \leq 2600:\\
      \;\;\;\;\frac{0.3333333333333333}{\sqrt{x}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sqrt{x} \cdot -3\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if x < 2600

        1. Initial program 99.4%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.3%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{1}{3} \cdot \sqrt{\frac{1}{x}}} \]
        6. Step-by-step derivation
          1. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{\frac{1}{x}}\right)}\right) \]
          2. sqrt-lowering-sqrt.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\left(\frac{1}{x}\right)\right)\right) \]
          3. /-lowering-/.f6476.2%

            \[\leadsto \mathsf{*.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right) \]
        7. Simplified76.2%

          \[\leadsto \color{blue}{0.3333333333333333 \cdot \sqrt{\frac{1}{x}}} \]
        8. Step-by-step derivation
          1. sqrt-divN/A

            \[\leadsto \frac{1}{3} \cdot \frac{\sqrt{1}}{\color{blue}{\sqrt{x}}} \]
          2. metadata-evalN/A

            \[\leadsto \frac{1}{3} \cdot \frac{1}{\sqrt{\color{blue}{x}}} \]
          3. un-div-invN/A

            \[\leadsto \frac{\frac{1}{3}}{\color{blue}{\sqrt{x}}} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \color{blue}{\left(\sqrt{x}\right)}\right) \]
          5. sqrt-lowering-sqrt.f6476.3%

            \[\leadsto \mathsf{/.f64}\left(\frac{1}{3}, \mathsf{sqrt.f64}\left(x\right)\right) \]
        9. Applied egg-rr76.3%

          \[\leadsto \color{blue}{\frac{0.3333333333333333}{\sqrt{x}}} \]

        if 2600 < x

        1. Initial program 99.5%

          \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
        2. Step-by-step derivation
          1. *-commutativeN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
          4. sqrt-lowering-sqrt.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          6. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
          8. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
          9. *-lowering-*.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
          11. sub-negN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
          13. distribute-lft-inN/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
          15. +-lowering-+.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
          16. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
          17. metadata-evalN/A

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
          20. associate-/r*N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          21. associate-*r/N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
          22. /-lowering-/.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
        3. Simplified99.6%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
        4. Add Preprocessing
        5. Taylor expanded in y around 0

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

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
          3. sub-negN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
          5. +-lowering-+.f64N/A

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

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
          7. metadata-evalN/A

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
          8. /-lowering-/.f6447.9%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
        7. Simplified47.9%

          \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
        8. Taylor expanded in x around inf

          \[\leadsto \color{blue}{-3 \cdot \sqrt{x}} \]
        9. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \sqrt{x} \cdot \color{blue}{-3} \]
          2. *-lowering-*.f64N/A

            \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{-3}\right) \]
          3. sqrt-lowering-sqrt.f6446.9%

            \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), -3\right) \]
        10. Simplified46.9%

          \[\leadsto \color{blue}{\sqrt{x} \cdot -3} \]
      3. Recombined 2 regimes into one program.
      4. Add Preprocessing

      Alternative 12: 25.8% accurate, 1.1× speedup?

      \[\begin{array}{l} \\ \sqrt{x} \cdot -3 \end{array} \]
      (FPCore (x y) :precision binary64 (* (sqrt x) -3.0))
      double code(double x, double y) {
      	return sqrt(x) * -3.0;
      }
      
      real(8) function code(x, y)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          code = sqrt(x) * (-3.0d0)
      end function
      
      public static double code(double x, double y) {
      	return Math.sqrt(x) * -3.0;
      }
      
      def code(x, y):
      	return math.sqrt(x) * -3.0
      
      function code(x, y)
      	return Float64(sqrt(x) * -3.0)
      end
      
      function tmp = code(x, y)
      	tmp = sqrt(x) * -3.0;
      end
      
      code[x_, y_] := N[(N[Sqrt[x], $MachinePrecision] * -3.0), $MachinePrecision]
      
      \begin{array}{l}
      
      \\
      \sqrt{x} \cdot -3
      \end{array}
      
      Derivation
      1. Initial program 99.5%

        \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \]
      2. Step-by-step derivation
        1. *-commutativeN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{\left(3 \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)}\right) \]
        4. sqrt-lowering-sqrt.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot \left(y + \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        6. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(3 \cdot y + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \color{blue}{3}\right)\right) \]
        8. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(3 \cdot y\right), \color{blue}{\left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot 3\right)}\right)\right) \]
        9. *-lowering-*.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \color{blue}{\left(\frac{1}{x \cdot 9} - 1\right)}\right)\right)\right) \]
        11. sub-negN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\left(\mathsf{neg}\left(1\right)\right) + \color{blue}{\frac{1}{x \cdot 9}}\right)\right)\right)\right) \]
        13. distribute-lft-inN/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \left(3 \cdot \left(\mathsf{neg}\left(1\right)\right) + \frac{1}{x \cdot 9} \cdot \color{blue}{3}\right)\right)\right) \]
        15. +-lowering-+.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot \left(\mathsf{neg}\left(1\right)\right)\right), \color{blue}{\left(\frac{1}{x \cdot 9} \cdot 3\right)}\right)\right)\right) \]
        16. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(\left(3 \cdot -1\right), \left(\frac{1}{\color{blue}{x \cdot 9}} \cdot 3\right)\right)\right)\right) \]
        17. metadata-evalN/A

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{1}{9 \cdot \color{blue}{x}}\right)\right)\right)\right) \]
        20. associate-/r*N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(3 \cdot \frac{\frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        21. associate-*r/N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \left(\frac{3 \cdot \frac{1}{9}}{\color{blue}{x}}\right)\right)\right)\right) \]
        22. /-lowering-/.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(3, y\right), \mathsf{+.f64}\left(-3, \mathsf{/.f64}\left(\left(3 \cdot \frac{1}{9}\right), \color{blue}{x}\right)\right)\right)\right) \]
      3. Simplified99.5%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot y + \left(-3 + \frac{0.3333333333333333}{x}\right)\right)} \]
      4. Add Preprocessing
      5. Taylor expanded in y around 0

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

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\color{blue}{\frac{1}{3} \cdot \frac{1}{x}} - 3\right)\right) \]
        3. sub-negN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + \color{blue}{\left(\mathsf{neg}\left(3\right)\right)}\right)\right) \]
        4. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \left(\frac{1}{3} \cdot \frac{1}{x} + -3\right)\right) \]
        5. +-lowering-+.f64N/A

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

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3} \cdot 1}{x}\right), -3\right)\right) \]
        7. metadata-evalN/A

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\left(\frac{\frac{1}{3}}{x}\right), -3\right)\right) \]
        8. /-lowering-/.f6461.9%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\frac{1}{3}, x\right), -3\right)\right) \]
      7. Simplified61.9%

        \[\leadsto \color{blue}{\sqrt{x} \cdot \left(\frac{0.3333333333333333}{x} + -3\right)} \]
      8. Taylor expanded in x around inf

        \[\leadsto \color{blue}{-3 \cdot \sqrt{x}} \]
      9. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \sqrt{x} \cdot \color{blue}{-3} \]
        2. *-lowering-*.f64N/A

          \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{x}\right), \color{blue}{-3}\right) \]
        3. sqrt-lowering-sqrt.f6426.1%

          \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(x\right), -3\right) \]
      10. Simplified26.1%

        \[\leadsto \color{blue}{\sqrt{x} \cdot -3} \]
      11. Add Preprocessing

      Developer Target 1: 99.4% accurate, 0.5× speedup?

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

      Reproduce

      ?
      herbie shell --seed 2024160 
      (FPCore (x y)
        :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
        :precision binary64
      
        :alt
        (! :herbie-platform default (* 3 (+ (* y (sqrt x)) (* (- (/ 1 (* x 9)) 1) (sqrt x)))))
      
        (* (* 3.0 (sqrt x)) (- (+ y (/ 1.0 (* x 9.0))) 1.0)))