Toniolo and Linder, Equation (13)

Percentage Accurate: 49.9% → 63.8%
Time: 24.7s
Alternatives: 22
Speedup: 1.8×

Specification

?
\[\begin{array}{l} \\ \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (sqrt
  (*
   (* (* 2.0 n) U)
   (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	return sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * pow((l / Om), 2.0)) * (U - U_42_)))));
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    code = sqrt((((2.0d0 * n) * u) * ((t - (2.0d0 * ((l * l) / om))) - ((n * ((l / om) ** 2.0d0)) * (u - u_42)))))
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	return Math.sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * Math.pow((l / Om), 2.0)) * (U - U_42_)))));
}
def code(n, U, t, l, Om, U_42_):
	return math.sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * math.pow((l / Om), 2.0)) * (U - U_42_)))))
function code(n, U, t, l, Om, U_42_)
	return sqrt(Float64(Float64(Float64(2.0 * n) * U) * Float64(Float64(t - Float64(2.0 * Float64(Float64(l * l) / Om))) - Float64(Float64(n * (Float64(l / Om) ^ 2.0)) * Float64(U - U_42_)))))
end
function tmp = code(n, U, t, l, Om, U_42_)
	tmp = sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * ((l / Om) ^ 2.0)) * (U - U_42_)))));
end
code[n_, U_, t_, l_, Om_, U$42$_] := N[Sqrt[N[(N[(N[(2.0 * n), $MachinePrecision] * U), $MachinePrecision] * N[(N[(t - N[(2.0 * N[(N[(l * l), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(n * N[Power[N[(l / Om), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(U - U$42$), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\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 22 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: 49.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (sqrt
  (*
   (* (* 2.0 n) U)
   (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	return sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * pow((l / Om), 2.0)) * (U - U_42_)))));
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    code = sqrt((((2.0d0 * n) * u) * ((t - (2.0d0 * ((l * l) / om))) - ((n * ((l / om) ** 2.0d0)) * (u - u_42)))))
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	return Math.sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * Math.pow((l / Om), 2.0)) * (U - U_42_)))));
}
def code(n, U, t, l, Om, U_42_):
	return math.sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * math.pow((l / Om), 2.0)) * (U - U_42_)))))
function code(n, U, t, l, Om, U_42_)
	return sqrt(Float64(Float64(Float64(2.0 * n) * U) * Float64(Float64(t - Float64(2.0 * Float64(Float64(l * l) / Om))) - Float64(Float64(n * (Float64(l / Om) ^ 2.0)) * Float64(U - U_42_)))))
end
function tmp = code(n, U, t, l, Om, U_42_)
	tmp = sqrt((((2.0 * n) * U) * ((t - (2.0 * ((l * l) / Om))) - ((n * ((l / Om) ^ 2.0)) * (U - U_42_)))));
end
code[n_, U_, t_, l_, Om_, U$42$_] := N[Sqrt[N[(N[(N[(2.0 * n), $MachinePrecision] * U), $MachinePrecision] * N[(N[(t - N[(2.0 * N[(N[(l * l), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(n * N[Power[N[(l / Om), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(U - U$42$), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}
\end{array}

Alternative 1: 63.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}\\ t_2 := t + \frac{t\_1}{\frac{Om}{\ell}}\\ \mathbf{if}\;U \leq -3.4 \cdot 10^{+174}:\\ \;\;\;\;{\left(2 \cdot \left(U \cdot n\right)\right)}^{0.5} \cdot \sqrt{t\_2}\\ \mathbf{elif}\;U \leq 4.3 \cdot 10^{-306}:\\ \;\;\;\;\sqrt{\frac{t\_1}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t\_2 \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1 (- (* l -2.0) (/ (- U U*) (/ Om (* n l)))))
        (t_2 (+ t (/ t_1 (/ Om l)))))
   (if (<= U -3.4e+174)
     (* (pow (* 2.0 (* U n)) 0.5) (sqrt t_2))
     (if (<= U 4.3e-306)
       (sqrt (+ (/ t_1 (/ Om (* 2.0 (* U (* n l))))) (* U (* 2.0 (* n t)))))
       (* (sqrt (* t_2 (* 2.0 n))) (sqrt U))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	double t_2 = t + (t_1 / (Om / l));
	double tmp;
	if (U <= -3.4e+174) {
		tmp = pow((2.0 * (U * n)), 0.5) * sqrt(t_2);
	} else if (U <= 4.3e-306) {
		tmp = sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = sqrt((t_2 * (2.0 * n))) * sqrt(U);
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = (l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))
    t_2 = t + (t_1 / (om / l))
    if (u <= (-3.4d+174)) then
        tmp = ((2.0d0 * (u * n)) ** 0.5d0) * sqrt(t_2)
    else if (u <= 4.3d-306) then
        tmp = sqrt(((t_1 / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    else
        tmp = sqrt((t_2 * (2.0d0 * n))) * sqrt(u)
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	double t_2 = t + (t_1 / (Om / l));
	double tmp;
	if (U <= -3.4e+174) {
		tmp = Math.pow((2.0 * (U * n)), 0.5) * Math.sqrt(t_2);
	} else if (U <= 4.3e-306) {
		tmp = Math.sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = Math.sqrt((t_2 * (2.0 * n))) * Math.sqrt(U);
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)))
	t_2 = t + (t_1 / (Om / l))
	tmp = 0
	if U <= -3.4e+174:
		tmp = math.pow((2.0 * (U * n)), 0.5) * math.sqrt(t_2)
	elif U <= 4.3e-306:
		tmp = math.sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	else:
		tmp = math.sqrt((t_2 * (2.0 * n))) * math.sqrt(U)
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l))))
	t_2 = Float64(t + Float64(t_1 / Float64(Om / l)))
	tmp = 0.0
	if (U <= -3.4e+174)
		tmp = Float64((Float64(2.0 * Float64(U * n)) ^ 0.5) * sqrt(t_2));
	elseif (U <= 4.3e-306)
		tmp = sqrt(Float64(Float64(t_1 / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	else
		tmp = Float64(sqrt(Float64(t_2 * Float64(2.0 * n))) * sqrt(U));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	t_2 = t + (t_1 / (Om / l));
	tmp = 0.0;
	if (U <= -3.4e+174)
		tmp = ((2.0 * (U * n)) ^ 0.5) * sqrt(t_2);
	elseif (U <= 4.3e-306)
		tmp = sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	else
		tmp = sqrt((t_2 * (2.0 * n))) * sqrt(U);
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t + N[(t$95$1 / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[U, -3.4e+174], N[(N[Power[N[(2.0 * N[(U * n), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision] * N[Sqrt[t$95$2], $MachinePrecision]), $MachinePrecision], If[LessEqual[U, 4.3e-306], N[Sqrt[N[(N[(t$95$1 / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(t$95$2 * N[(2.0 * n), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[Sqrt[U], $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}\\
t_2 := t + \frac{t\_1}{\frac{Om}{\ell}}\\
\mathbf{if}\;U \leq -3.4 \cdot 10^{+174}:\\
\;\;\;\;{\left(2 \cdot \left(U \cdot n\right)\right)}^{0.5} \cdot \sqrt{t\_2}\\

\mathbf{elif}\;U \leq 4.3 \cdot 10^{-306}:\\
\;\;\;\;\sqrt{\frac{t\_1}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t\_2 \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if U < -3.4000000000000001e174

    1. Initial program 45.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified48.8%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. pow1/2N/A

        \[\leadsto {\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      2. unpow-prod-downN/A

        \[\leadsto {\left(2 \cdot \left(n \cdot U\right)\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}^{\frac{1}{2}}} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({\left(2 \cdot \left(n \cdot U\right)\right)}^{\frac{1}{2}}\right), \color{blue}{\left({\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}^{\frac{1}{2}}\right)}\right) \]
      4. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \frac{1}{2}\right), \left({\color{blue}{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}}^{\frac{1}{2}}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \frac{1}{2}\right), \left({\left(\color{blue}{t} + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}^{\frac{1}{2}}\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \left({\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}^{\frac{1}{2}}\right)\right) \]
      7. pow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \left(\sqrt{t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)}\right)\right) \]
      8. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(t, \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)\right)\right)\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(t, \left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right)\right)\right)\right) \]
      11. clear-numN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(t, \left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{1}{\frac{Om}{\ell}}\right)\right)\right)\right) \]
      12. un-div-invN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(t, \left(\frac{\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2}{\frac{Om}{\ell}}\right)\right)\right)\right) \]
      13. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{Om}{\ell}\right)\right)\right)\right)\right) \]
    6. Applied egg-rr66.8%

      \[\leadsto \color{blue}{{\left(2 \cdot \left(n \cdot U\right)\right)}^{0.5} \cdot \sqrt{t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}}} \]

    if -3.4000000000000001e174 < U < 4.2999999999999999e-306

    1. Initial program 53.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified59.0%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr63.9%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6470.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified70.0%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr70.9%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]

    if 4.2999999999999999e-306 < U

    1. Initial program 42.7%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified52.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)} \]
      2. associate-*r*N/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)} \]
      3. associate-*r*N/A

        \[\leadsto \sqrt{\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]
      4. sqrt-prodN/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)} \cdot \color{blue}{\sqrt{U}} \]
      5. pow1/2N/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)} \cdot {U}^{\color{blue}{\frac{1}{2}}} \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)}\right), \color{blue}{\left({U}^{\frac{1}{2}}\right)}\right) \]
    6. Applied egg-rr69.8%

      \[\leadsto \color{blue}{\sqrt{\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification70.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \leq -3.4 \cdot 10^{+174}:\\ \;\;\;\;{\left(2 \cdot \left(U \cdot n\right)\right)}^{0.5} \cdot \sqrt{t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}}\\ \mathbf{elif}\;U \leq 4.3 \cdot 10^{-306}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 63.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}\\ \mathbf{if}\;U \leq -3.15 \cdot 10^{+181}:\\ \;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\ \mathbf{elif}\;U \leq 6.5 \cdot 10^{-306}:\\ \;\;\;\;\sqrt{\frac{t\_1}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t + \frac{t\_1}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1 (- (* l -2.0) (/ (- U U*) (/ Om (* n l))))))
   (if (<= U -3.15e+181)
     (* (sqrt t) (sqrt (* n (* U 2.0))))
     (if (<= U 6.5e-306)
       (sqrt (+ (/ t_1 (/ Om (* 2.0 (* U (* n l))))) (* U (* 2.0 (* n t)))))
       (* (sqrt (* (+ t (/ t_1 (/ Om l))) (* 2.0 n))) (sqrt U))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	double tmp;
	if (U <= -3.15e+181) {
		tmp = sqrt(t) * sqrt((n * (U * 2.0)));
	} else if (U <= 6.5e-306) {
		tmp = sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = sqrt(((t + (t_1 / (Om / l))) * (2.0 * n))) * sqrt(U);
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))
    if (u <= (-3.15d+181)) then
        tmp = sqrt(t) * sqrt((n * (u * 2.0d0)))
    else if (u <= 6.5d-306) then
        tmp = sqrt(((t_1 / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    else
        tmp = sqrt(((t + (t_1 / (om / l))) * (2.0d0 * n))) * sqrt(u)
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	double tmp;
	if (U <= -3.15e+181) {
		tmp = Math.sqrt(t) * Math.sqrt((n * (U * 2.0)));
	} else if (U <= 6.5e-306) {
		tmp = Math.sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = Math.sqrt(((t + (t_1 / (Om / l))) * (2.0 * n))) * Math.sqrt(U);
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)))
	tmp = 0
	if U <= -3.15e+181:
		tmp = math.sqrt(t) * math.sqrt((n * (U * 2.0)))
	elif U <= 6.5e-306:
		tmp = math.sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	else:
		tmp = math.sqrt(((t + (t_1 / (Om / l))) * (2.0 * n))) * math.sqrt(U)
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l))))
	tmp = 0.0
	if (U <= -3.15e+181)
		tmp = Float64(sqrt(t) * sqrt(Float64(n * Float64(U * 2.0))));
	elseif (U <= 6.5e-306)
		tmp = sqrt(Float64(Float64(t_1 / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	else
		tmp = Float64(sqrt(Float64(Float64(t + Float64(t_1 / Float64(Om / l))) * Float64(2.0 * n))) * sqrt(U));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	tmp = 0.0;
	if (U <= -3.15e+181)
		tmp = sqrt(t) * sqrt((n * (U * 2.0)));
	elseif (U <= 6.5e-306)
		tmp = sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	else
		tmp = sqrt(((t + (t_1 / (Om / l))) * (2.0 * n))) * sqrt(U);
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[U, -3.15e+181], N[(N[Sqrt[t], $MachinePrecision] * N[Sqrt[N[(n * N[(U * 2.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[U, 6.5e-306], N[Sqrt[N[(N[(t$95$1 / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(N[(t + N[(t$95$1 / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * n), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[Sqrt[U], $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}\\
\mathbf{if}\;U \leq -3.15 \cdot 10^{+181}:\\
\;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\

\mathbf{elif}\;U \leq 6.5 \cdot 10^{-306}:\\
\;\;\;\;\sqrt{\frac{t\_1}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t + \frac{t\_1}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if U < -3.1500000000000001e181

    1. Initial program 45.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified48.8%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6443.1%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified43.1%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6417.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr17.3%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(\left(t \cdot U\right) \cdot n\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      2. associate-*r*N/A

        \[\leadsto {\left(\left(2 \cdot \left(t \cdot U\right)\right) \cdot n\right)}^{\frac{1}{2}} \]
      3. *-commutativeN/A

        \[\leadsto {\left(\left(2 \cdot \left(U \cdot t\right)\right) \cdot n\right)}^{\frac{1}{2}} \]
      4. associate-*r*N/A

        \[\leadsto {\left(\left(\left(2 \cdot U\right) \cdot t\right) \cdot n\right)}^{\frac{1}{2}} \]
      5. associate-*r*N/A

        \[\leadsto {\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right)}^{\frac{1}{2}} \]
      6. pow-prod-downN/A

        \[\leadsto {\left(2 \cdot U\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(t \cdot n\right)}^{\frac{1}{2}}} \]
      7. *-commutativeN/A

        \[\leadsto {\left(t \cdot n\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(2 \cdot U\right)}^{\frac{1}{2}}} \]
      8. unpow-prod-downN/A

        \[\leadsto \left({t}^{\frac{1}{2}} \cdot {n}^{\frac{1}{2}}\right) \cdot {\color{blue}{\left(2 \cdot U\right)}}^{\frac{1}{2}} \]
      9. associate-*l*N/A

        \[\leadsto {t}^{\frac{1}{2}} \cdot \color{blue}{\left({n}^{\frac{1}{2}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)} \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({t}^{\frac{1}{2}}\right), \color{blue}{\left({n}^{\frac{1}{2}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)}\right) \]
      11. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{t}\right), \left(\color{blue}{{n}^{\frac{1}{2}}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)\right) \]
      12. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\color{blue}{{n}^{\frac{1}{2}}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)\right) \]
      13. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n} \cdot {\color{blue}{\left(2 \cdot U\right)}}^{\frac{1}{2}}\right)\right) \]
      14. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n} \cdot \sqrt{2 \cdot U}\right)\right) \]
      15. sqrt-unprodN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n \cdot \left(2 \cdot U\right)}\right)\right) \]
      16. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\left(n \cdot \left(2 \cdot U\right)\right)\right)\right) \]
      17. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \left(2 \cdot U\right)\right)\right)\right) \]
      18. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \left(U \cdot 2\right)\right)\right)\right) \]
      19. *-lowering-*.f6466.4%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \mathsf{*.f64}\left(U, 2\right)\right)\right)\right) \]
    11. Applied egg-rr66.4%

      \[\leadsto \color{blue}{\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}} \]

    if -3.1500000000000001e181 < U < 6.5000000000000004e-306

    1. Initial program 53.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified59.0%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr63.9%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6470.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified70.0%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr70.9%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]

    if 6.5000000000000004e-306 < U

    1. Initial program 42.7%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified52.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)} \]
      2. associate-*r*N/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)} \]
      3. associate-*r*N/A

        \[\leadsto \sqrt{\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]
      4. sqrt-prodN/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)} \cdot \color{blue}{\sqrt{U}} \]
      5. pow1/2N/A

        \[\leadsto \sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)} \cdot {U}^{\color{blue}{\frac{1}{2}}} \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)}\right), \color{blue}{\left({U}^{\frac{1}{2}}\right)}\right) \]
    6. Applied egg-rr69.8%

      \[\leadsto \color{blue}{\sqrt{\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification70.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \leq -3.15 \cdot 10^{+181}:\\ \;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\ \mathbf{elif}\;U \leq 6.5 \cdot 10^{-306}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 59.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;U \leq -2.9 \cdot 10^{+181}:\\ \;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\ \mathbf{elif}\;U \leq 5 \cdot 10^{-306}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot {\left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot \left(\ell \cdot \left(\left(U* - U\right) \cdot \frac{n}{Om} - 2\right)\right)}{Om}\right)\right)}^{0.5}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= U -2.9e+181)
   (* (sqrt t) (sqrt (* n (* U 2.0))))
   (if (<= U 5e-306)
     (sqrt
      (+
       (/
        (- (* l -2.0) (/ (- U U*) (/ Om (* n l))))
        (/ Om (* 2.0 (* U (* n l)))))
       (* U (* 2.0 (* n t)))))
     (*
      (sqrt U)
      (pow
       (* (* 2.0 n) (+ t (/ (* l (* l (- (* (- U* U) (/ n Om)) 2.0))) Om)))
       0.5)))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (U <= -2.9e+181) {
		tmp = sqrt(t) * sqrt((n * (U * 2.0)));
	} else if (U <= 5e-306) {
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = sqrt(U) * pow(((2.0 * n) * (t + ((l * (l * (((U_42_ - U) * (n / Om)) - 2.0))) / Om))), 0.5);
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (u <= (-2.9d+181)) then
        tmp = sqrt(t) * sqrt((n * (u * 2.0d0)))
    else if (u <= 5d-306) then
        tmp = sqrt(((((l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))) / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    else
        tmp = sqrt(u) * (((2.0d0 * n) * (t + ((l * (l * (((u_42 - u) * (n / om)) - 2.0d0))) / om))) ** 0.5d0)
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (U <= -2.9e+181) {
		tmp = Math.sqrt(t) * Math.sqrt((n * (U * 2.0)));
	} else if (U <= 5e-306) {
		tmp = Math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = Math.sqrt(U) * Math.pow(((2.0 * n) * (t + ((l * (l * (((U_42_ - U) * (n / Om)) - 2.0))) / Om))), 0.5);
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if U <= -2.9e+181:
		tmp = math.sqrt(t) * math.sqrt((n * (U * 2.0)))
	elif U <= 5e-306:
		tmp = math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	else:
		tmp = math.sqrt(U) * math.pow(((2.0 * n) * (t + ((l * (l * (((U_42_ - U) * (n / Om)) - 2.0))) / Om))), 0.5)
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (U <= -2.9e+181)
		tmp = Float64(sqrt(t) * sqrt(Float64(n * Float64(U * 2.0))));
	elseif (U <= 5e-306)
		tmp = sqrt(Float64(Float64(Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l)))) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	else
		tmp = Float64(sqrt(U) * (Float64(Float64(2.0 * n) * Float64(t + Float64(Float64(l * Float64(l * Float64(Float64(Float64(U_42_ - U) * Float64(n / Om)) - 2.0))) / Om))) ^ 0.5));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (U <= -2.9e+181)
		tmp = sqrt(t) * sqrt((n * (U * 2.0)));
	elseif (U <= 5e-306)
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	else
		tmp = sqrt(U) * (((2.0 * n) * (t + ((l * (l * (((U_42_ - U) * (n / Om)) - 2.0))) / Om))) ^ 0.5);
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[U, -2.9e+181], N[(N[Sqrt[t], $MachinePrecision] * N[Sqrt[N[(n * N[(U * 2.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[U, 5e-306], N[Sqrt[N[(N[(N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[U], $MachinePrecision] * N[Power[N[(N[(2.0 * n), $MachinePrecision] * N[(t + N[(N[(l * N[(l * N[(N[(N[(U$42$ - U), $MachinePrecision] * N[(n / Om), $MachinePrecision]), $MachinePrecision] - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;U \leq -2.9 \cdot 10^{+181}:\\
\;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\

\mathbf{elif}\;U \leq 5 \cdot 10^{-306}:\\
\;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot {\left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot \left(\ell \cdot \left(\left(U* - U\right) \cdot \frac{n}{Om} - 2\right)\right)}{Om}\right)\right)}^{0.5}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if U < -2.9e181

    1. Initial program 45.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified48.8%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6443.1%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified43.1%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6417.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr17.3%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(\left(t \cdot U\right) \cdot n\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      2. associate-*r*N/A

        \[\leadsto {\left(\left(2 \cdot \left(t \cdot U\right)\right) \cdot n\right)}^{\frac{1}{2}} \]
      3. *-commutativeN/A

        \[\leadsto {\left(\left(2 \cdot \left(U \cdot t\right)\right) \cdot n\right)}^{\frac{1}{2}} \]
      4. associate-*r*N/A

        \[\leadsto {\left(\left(\left(2 \cdot U\right) \cdot t\right) \cdot n\right)}^{\frac{1}{2}} \]
      5. associate-*r*N/A

        \[\leadsto {\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right)}^{\frac{1}{2}} \]
      6. pow-prod-downN/A

        \[\leadsto {\left(2 \cdot U\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(t \cdot n\right)}^{\frac{1}{2}}} \]
      7. *-commutativeN/A

        \[\leadsto {\left(t \cdot n\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(2 \cdot U\right)}^{\frac{1}{2}}} \]
      8. unpow-prod-downN/A

        \[\leadsto \left({t}^{\frac{1}{2}} \cdot {n}^{\frac{1}{2}}\right) \cdot {\color{blue}{\left(2 \cdot U\right)}}^{\frac{1}{2}} \]
      9. associate-*l*N/A

        \[\leadsto {t}^{\frac{1}{2}} \cdot \color{blue}{\left({n}^{\frac{1}{2}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)} \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({t}^{\frac{1}{2}}\right), \color{blue}{\left({n}^{\frac{1}{2}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)}\right) \]
      11. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{t}\right), \left(\color{blue}{{n}^{\frac{1}{2}}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)\right) \]
      12. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\color{blue}{{n}^{\frac{1}{2}}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)\right) \]
      13. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n} \cdot {\color{blue}{\left(2 \cdot U\right)}}^{\frac{1}{2}}\right)\right) \]
      14. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n} \cdot \sqrt{2 \cdot U}\right)\right) \]
      15. sqrt-unprodN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n \cdot \left(2 \cdot U\right)}\right)\right) \]
      16. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\left(n \cdot \left(2 \cdot U\right)\right)\right)\right) \]
      17. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \left(2 \cdot U\right)\right)\right)\right) \]
      18. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \left(U \cdot 2\right)\right)\right)\right) \]
      19. *-lowering-*.f6466.4%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \mathsf{*.f64}\left(U, 2\right)\right)\right)\right) \]
    11. Applied egg-rr66.4%

      \[\leadsto \color{blue}{\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}} \]

    if -2.9e181 < U < 4.99999999999999998e-306

    1. Initial program 53.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified59.0%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr63.9%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6470.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified70.0%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr70.9%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]

    if 4.99999999999999998e-306 < U

    1. Initial program 42.7%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified52.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in Om around -inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \color{blue}{\left(t + -1 \cdot \frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)}\right)\right) \]
    6. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\mathsf{neg}\left(\frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right)\right) \]
      2. unsub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t - \frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right) \]
      3. --lowering--.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      4. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{\left(\mathsf{neg}\left(\frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      5. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{\left(\mathsf{neg}\left({\ell}^{2} \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      6. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(\mathsf{neg}\left(\frac{n \cdot \left(U* - U\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      7. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right) + {\ell}^{2} \cdot 2}{Om}\right)\right)\right)\right) \]
      9. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om} + 2\right)}{Om}\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(2 + -1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)\right)\right)\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\left({\ell}^{2} \cdot \left(2 + -1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
    7. Simplified44.6%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \color{blue}{\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)}} \]
    8. Step-by-step derivation
      1. pow1/2N/A

        \[\leadsto {\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      2. *-commutativeN/A

        \[\leadsto {\left(\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)}^{\frac{1}{2}} \]
      3. associate-*r*N/A

        \[\leadsto {\left(\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)}^{\frac{1}{2}} \]
      4. associate-*r*N/A

        \[\leadsto {\left(\left(\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)}^{\frac{1}{2}} \]
      5. unpow-prod-downN/A

        \[\leadsto {\left(\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right) \cdot \left(2 \cdot n\right)\right)}^{\frac{1}{2}} \cdot \color{blue}{{U}^{\frac{1}{2}}} \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({\left(\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right) \cdot \left(2 \cdot n\right)\right)}^{\frac{1}{2}}\right), \color{blue}{\left({U}^{\frac{1}{2}}\right)}\right) \]
    9. Applied egg-rr63.5%

      \[\leadsto \color{blue}{{\left(\left(t - \frac{\ell \cdot \left(\ell \cdot \left(2 - \left(U* - U\right) \cdot \frac{n}{Om}\right)\right)}{Om}\right) \cdot \left(n \cdot 2\right)\right)}^{0.5} \cdot \sqrt{U}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification67.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \leq -2.9 \cdot 10^{+181}:\\ \;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\ \mathbf{elif}\;U \leq 5 \cdot 10^{-306}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot {\left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot \left(\ell \cdot \left(\left(U* - U\right) \cdot \frac{n}{Om} - 2\right)\right)}{Om}\right)\right)}^{0.5}\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 60.5% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 5.2 \cdot 10^{+152}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t} \cdot {\left(U \cdot \left(2 \cdot n\right)\right)}^{0.5}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= t 5.2e+152)
   (sqrt
    (+
     (/
      (- (* l -2.0) (/ (- U U*) (/ Om (* n l))))
      (/ Om (* 2.0 (* U (* n l)))))
     (* U (* 2.0 (* n t)))))
   (* (sqrt t) (pow (* U (* 2.0 n)) 0.5))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (t <= 5.2e+152) {
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = sqrt(t) * pow((U * (2.0 * n)), 0.5);
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (t <= 5.2d+152) then
        tmp = sqrt(((((l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))) / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    else
        tmp = sqrt(t) * ((u * (2.0d0 * n)) ** 0.5d0)
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (t <= 5.2e+152) {
		tmp = Math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = Math.sqrt(t) * Math.pow((U * (2.0 * n)), 0.5);
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if t <= 5.2e+152:
		tmp = math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	else:
		tmp = math.sqrt(t) * math.pow((U * (2.0 * n)), 0.5)
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (t <= 5.2e+152)
		tmp = sqrt(Float64(Float64(Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l)))) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	else
		tmp = Float64(sqrt(t) * (Float64(U * Float64(2.0 * n)) ^ 0.5));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (t <= 5.2e+152)
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	else
		tmp = sqrt(t) * ((U * (2.0 * n)) ^ 0.5);
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[t, 5.2e+152], N[Sqrt[N[(N[(N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[t], $MachinePrecision] * N[Power[N[(U * N[(2.0 * n), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq 5.2 \cdot 10^{+152}:\\
\;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t} \cdot {\left(U \cdot \left(2 \cdot n\right)\right)}^{0.5}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t < 5.2000000000000001e152

    1. Initial program 49.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified57.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr60.2%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6462.4%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified62.4%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr64.8%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]

    if 5.2000000000000001e152 < t

    1. Initial program 41.6%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified43.9%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6439.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified39.3%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. associate-*r*N/A

        \[\leadsto \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot t} \]
      2. *-commutativeN/A

        \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot t} \]
      3. sqrt-prodN/A

        \[\leadsto \sqrt{2 \cdot \left(n \cdot U\right)} \cdot \color{blue}{\sqrt{t}} \]
      4. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(n \cdot U\right)\right)}^{\frac{1}{2}} \cdot \sqrt{\color{blue}{t}} \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({\left(2 \cdot \left(n \cdot U\right)\right)}^{\frac{1}{2}}\right), \color{blue}{\left(\sqrt{t}\right)}\right) \]
      6. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \frac{1}{2}\right), \left(\sqrt{\color{blue}{t}}\right)\right) \]
      7. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \frac{1}{2}\right), \left(\sqrt{t}\right)\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\left(U \cdot \left(2 \cdot n\right)\right), \frac{1}{2}\right), \left(\sqrt{t}\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \left(2 \cdot n\right)\right), \frac{1}{2}\right), \left(\sqrt{t}\right)\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \left(n \cdot 2\right)\right), \frac{1}{2}\right), \left(\sqrt{t}\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, 2\right)\right), \frac{1}{2}\right), \left(\sqrt{t}\right)\right) \]
      12. sqrt-lowering-sqrt.f6467.0%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, 2\right)\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(t\right)\right) \]
    9. Applied egg-rr67.0%

      \[\leadsto \color{blue}{{\left(U \cdot \left(n \cdot 2\right)\right)}^{0.5} \cdot \sqrt{t}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification65.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 5.2 \cdot 10^{+152}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t} \cdot {\left(U \cdot \left(2 \cdot n\right)\right)}^{0.5}\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 60.5% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 1.3 \cdot 10^{+152}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;{\left(U \cdot n\right)}^{0.5} \cdot \sqrt{2 \cdot t}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= t 1.3e+152)
   (sqrt
    (+
     (/
      (- (* l -2.0) (/ (- U U*) (/ Om (* n l))))
      (/ Om (* 2.0 (* U (* n l)))))
     (* U (* 2.0 (* n t)))))
   (* (pow (* U n) 0.5) (sqrt (* 2.0 t)))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (t <= 1.3e+152) {
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = pow((U * n), 0.5) * sqrt((2.0 * t));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (t <= 1.3d+152) then
        tmp = sqrt(((((l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))) / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    else
        tmp = ((u * n) ** 0.5d0) * sqrt((2.0d0 * t))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (t <= 1.3e+152) {
		tmp = Math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = Math.pow((U * n), 0.5) * Math.sqrt((2.0 * t));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if t <= 1.3e+152:
		tmp = math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	else:
		tmp = math.pow((U * n), 0.5) * math.sqrt((2.0 * t))
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (t <= 1.3e+152)
		tmp = sqrt(Float64(Float64(Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l)))) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	else
		tmp = Float64((Float64(U * n) ^ 0.5) * sqrt(Float64(2.0 * t)));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (t <= 1.3e+152)
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	else
		tmp = ((U * n) ^ 0.5) * sqrt((2.0 * t));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[t, 1.3e+152], N[Sqrt[N[(N[(N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[Power[N[(U * n), $MachinePrecision], 0.5], $MachinePrecision] * N[Sqrt[N[(2.0 * t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.3 \cdot 10^{+152}:\\
\;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;{\left(U \cdot n\right)}^{0.5} \cdot \sqrt{2 \cdot t}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t < 1.3e152

    1. Initial program 49.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified57.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr60.2%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6462.4%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified62.4%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr64.8%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]

    if 1.3e152 < t

    1. Initial program 41.6%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified43.9%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6439.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified39.3%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6441.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr41.5%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. sqrt-prodN/A

        \[\leadsto \sqrt{2} \cdot \color{blue}{\sqrt{\left(t \cdot U\right) \cdot n}} \]
      2. associate-*l*N/A

        \[\leadsto \sqrt{2} \cdot \sqrt{t \cdot \left(U \cdot n\right)} \]
      3. *-commutativeN/A

        \[\leadsto \sqrt{2} \cdot \sqrt{\left(U \cdot n\right) \cdot t} \]
      4. sqrt-prodN/A

        \[\leadsto \sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)} \]
      5. *-commutativeN/A

        \[\leadsto \sqrt{\left(\left(U \cdot n\right) \cdot t\right) \cdot 2} \]
      6. associate-*l*N/A

        \[\leadsto \sqrt{\left(U \cdot n\right) \cdot \left(t \cdot 2\right)} \]
      7. sqrt-prodN/A

        \[\leadsto \sqrt{U \cdot n} \cdot \color{blue}{\sqrt{t \cdot 2}} \]
      8. pow1/2N/A

        \[\leadsto {\left(U \cdot n\right)}^{\frac{1}{2}} \cdot \sqrt{\color{blue}{t \cdot 2}} \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({\left(U \cdot n\right)}^{\frac{1}{2}}\right), \color{blue}{\left(\sqrt{t \cdot 2}\right)}\right) \]
      10. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\left(U \cdot n\right), \frac{1}{2}\right), \left(\sqrt{\color{blue}{t \cdot 2}}\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, n\right), \frac{1}{2}\right), \left(\sqrt{\color{blue}{t} \cdot 2}\right)\right) \]
      12. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, n\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\left(t \cdot 2\right)\right)\right) \]
      13. *-lowering-*.f6466.8%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, n\right), \frac{1}{2}\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(t, 2\right)\right)\right) \]
    11. Applied egg-rr66.8%

      \[\leadsto \color{blue}{{\left(U \cdot n\right)}^{0.5} \cdot \sqrt{t \cdot 2}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification65.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 1.3 \cdot 10^{+152}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;{\left(U \cdot n\right)}^{0.5} \cdot \sqrt{2 \cdot t}\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 60.3% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 5.4 \cdot 10^{+152}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= t 5.4e+152)
   (sqrt
    (+
     (/
      (- (* l -2.0) (/ (- U U*) (/ Om (* n l))))
      (/ Om (* 2.0 (* U (* n l)))))
     (* U (* 2.0 (* n t)))))
   (* (sqrt t) (sqrt (* n (* U 2.0))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (t <= 5.4e+152) {
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = sqrt(t) * sqrt((n * (U * 2.0)));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (t <= 5.4d+152) then
        tmp = sqrt(((((l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))) / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    else
        tmp = sqrt(t) * sqrt((n * (u * 2.0d0)))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (t <= 5.4e+152) {
		tmp = Math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	} else {
		tmp = Math.sqrt(t) * Math.sqrt((n * (U * 2.0)));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if t <= 5.4e+152:
		tmp = math.sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	else:
		tmp = math.sqrt(t) * math.sqrt((n * (U * 2.0)))
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (t <= 5.4e+152)
		tmp = sqrt(Float64(Float64(Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l)))) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	else
		tmp = Float64(sqrt(t) * sqrt(Float64(n * Float64(U * 2.0))));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (t <= 5.4e+152)
		tmp = sqrt(((((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	else
		tmp = sqrt(t) * sqrt((n * (U * 2.0)));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[t, 5.4e+152], N[Sqrt[N[(N[(N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[t], $MachinePrecision] * N[Sqrt[N[(n * N[(U * 2.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq 5.4 \cdot 10^{+152}:\\
\;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t < 5.4000000000000003e152

    1. Initial program 49.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified57.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr60.2%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6462.4%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified62.4%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr64.8%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]

    if 5.4000000000000003e152 < t

    1. Initial program 41.6%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified43.9%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6439.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified39.3%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6441.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr41.5%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(\left(t \cdot U\right) \cdot n\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      2. associate-*r*N/A

        \[\leadsto {\left(\left(2 \cdot \left(t \cdot U\right)\right) \cdot n\right)}^{\frac{1}{2}} \]
      3. *-commutativeN/A

        \[\leadsto {\left(\left(2 \cdot \left(U \cdot t\right)\right) \cdot n\right)}^{\frac{1}{2}} \]
      4. associate-*r*N/A

        \[\leadsto {\left(\left(\left(2 \cdot U\right) \cdot t\right) \cdot n\right)}^{\frac{1}{2}} \]
      5. associate-*r*N/A

        \[\leadsto {\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right)}^{\frac{1}{2}} \]
      6. pow-prod-downN/A

        \[\leadsto {\left(2 \cdot U\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(t \cdot n\right)}^{\frac{1}{2}}} \]
      7. *-commutativeN/A

        \[\leadsto {\left(t \cdot n\right)}^{\frac{1}{2}} \cdot \color{blue}{{\left(2 \cdot U\right)}^{\frac{1}{2}}} \]
      8. unpow-prod-downN/A

        \[\leadsto \left({t}^{\frac{1}{2}} \cdot {n}^{\frac{1}{2}}\right) \cdot {\color{blue}{\left(2 \cdot U\right)}}^{\frac{1}{2}} \]
      9. associate-*l*N/A

        \[\leadsto {t}^{\frac{1}{2}} \cdot \color{blue}{\left({n}^{\frac{1}{2}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)} \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left({t}^{\frac{1}{2}}\right), \color{blue}{\left({n}^{\frac{1}{2}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)}\right) \]
      11. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\sqrt{t}\right), \left(\color{blue}{{n}^{\frac{1}{2}}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)\right) \]
      12. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\color{blue}{{n}^{\frac{1}{2}}} \cdot {\left(2 \cdot U\right)}^{\frac{1}{2}}\right)\right) \]
      13. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n} \cdot {\color{blue}{\left(2 \cdot U\right)}}^{\frac{1}{2}}\right)\right) \]
      14. unpow1/2N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n} \cdot \sqrt{2 \cdot U}\right)\right) \]
      15. sqrt-unprodN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \left(\sqrt{n \cdot \left(2 \cdot U\right)}\right)\right) \]
      16. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\left(n \cdot \left(2 \cdot U\right)\right)\right)\right) \]
      17. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \left(2 \cdot U\right)\right)\right)\right) \]
      18. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \left(U \cdot 2\right)\right)\right)\right) \]
      19. *-lowering-*.f6464.7%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(t\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(n, \mathsf{*.f64}\left(U, 2\right)\right)\right)\right) \]
    11. Applied egg-rr64.7%

      \[\leadsto \color{blue}{\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification64.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 5.4 \cdot 10^{+152}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t} \cdot \sqrt{n \cdot \left(U \cdot 2\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 61.3% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \sqrt{U \cdot \left(\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\ \mathbf{if}\;U* \leq -9.5 \cdot 10^{+108}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;U* \leq 2 \cdot 10^{+140}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2 + \frac{U* \cdot \left(n \cdot \ell\right)}{Om}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1
         (sqrt
          (*
           U
           (*
            (+ t (/ (- (* l -2.0) (/ (- U U*) (/ Om (* n l)))) (/ Om l)))
            (* 2.0 n))))))
   (if (<= U* -9.5e+108)
     t_1
     (if (<= U* 2e+140)
       (sqrt
        (+
         (* U (* 2.0 (* n t)))
         (/
          (+ (* l -2.0) (/ (* U* (* n l)) Om))
          (/ Om (* 2.0 (* U (* n l)))))))
       t_1))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = sqrt((U * ((t + (((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / l))) * (2.0 * n))));
	double tmp;
	if (U_42_ <= -9.5e+108) {
		tmp = t_1;
	} else if (U_42_ <= 2e+140) {
		tmp = sqrt(((U * (2.0 * (n * t))) + (((l * -2.0) + ((U_42_ * (n * l)) / Om)) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = sqrt((u * ((t + (((l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))) / (om / l))) * (2.0d0 * n))))
    if (u_42 <= (-9.5d+108)) then
        tmp = t_1
    else if (u_42 <= 2d+140) then
        tmp = sqrt(((u * (2.0d0 * (n * t))) + (((l * (-2.0d0)) + ((u_42 * (n * l)) / om)) / (om / (2.0d0 * (u * (n * l)))))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = Math.sqrt((U * ((t + (((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / l))) * (2.0 * n))));
	double tmp;
	if (U_42_ <= -9.5e+108) {
		tmp = t_1;
	} else if (U_42_ <= 2e+140) {
		tmp = Math.sqrt(((U * (2.0 * (n * t))) + (((l * -2.0) + ((U_42_ * (n * l)) / Om)) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = math.sqrt((U * ((t + (((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / l))) * (2.0 * n))))
	tmp = 0
	if U_42_ <= -9.5e+108:
		tmp = t_1
	elif U_42_ <= 2e+140:
		tmp = math.sqrt(((U * (2.0 * (n * t))) + (((l * -2.0) + ((U_42_ * (n * l)) / Om)) / (Om / (2.0 * (U * (n * l)))))))
	else:
		tmp = t_1
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = sqrt(Float64(U * Float64(Float64(t + Float64(Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l)))) / Float64(Om / l))) * Float64(2.0 * n))))
	tmp = 0.0
	if (U_42_ <= -9.5e+108)
		tmp = t_1;
	elseif (U_42_ <= 2e+140)
		tmp = sqrt(Float64(Float64(U * Float64(2.0 * Float64(n * t))) + Float64(Float64(Float64(l * -2.0) + Float64(Float64(U_42_ * Float64(n * l)) / Om)) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l)))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = sqrt((U * ((t + (((l * -2.0) - ((U - U_42_) / (Om / (n * l)))) / (Om / l))) * (2.0 * n))));
	tmp = 0.0;
	if (U_42_ <= -9.5e+108)
		tmp = t_1;
	elseif (U_42_ <= 2e+140)
		tmp = sqrt(((U * (2.0 * (n * t))) + (((l * -2.0) + ((U_42_ * (n * l)) / Om)) / (Om / (2.0 * (U * (n * l)))))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[Sqrt[N[(U * N[(N[(t + N[(N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[U$42$, -9.5e+108], t$95$1, If[LessEqual[U$42$, 2e+140], N[Sqrt[N[(N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(l * -2.0), $MachinePrecision] + N[(N[(U$42$ * N[(n * l), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \sqrt{U \cdot \left(\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\
\mathbf{if}\;U* \leq -9.5 \cdot 10^{+108}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;U* \leq 2 \cdot 10^{+140}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2 + \frac{U* \cdot \left(n \cdot \ell\right)}{Om}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if U* < -9.50000000000000097e108 or 2.00000000000000012e140 < U*

    1. Initial program 43.3%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified57.8%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr61.2%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]

    if -9.50000000000000097e108 < U* < 2.00000000000000012e140

    1. Initial program 50.3%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified54.1%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr58.3%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6462.8%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified62.8%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr65.5%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]
    12. Taylor expanded in U around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell + \frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    13. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(-2 \cdot \ell\right), \left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(\left(U* \cdot \left(\ell \cdot n\right)\right), Om\right)\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \left(\ell \cdot n\right)\right), Om\right)\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
      5. *-lowering-*.f6465.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, n\right)\right), Om\right)\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    14. Simplified65.0%

      \[\leadsto \sqrt{\frac{\color{blue}{-2 \cdot \ell + \frac{U* \cdot \left(\ell \cdot n\right)}{Om}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification63.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U* \leq -9.5 \cdot 10^{+108}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\ \mathbf{elif}\;U* \leq 2 \cdot 10^{+140}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2 + \frac{U* \cdot \left(n \cdot \ell\right)}{Om}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 60.3% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}\\ \mathbf{if}\;\ell \leq 1.18 \cdot 10^{-7}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(t + \frac{t\_1}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{t\_1}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1 (- (* l -2.0) (/ (- U U*) (/ Om (* n l))))))
   (if (<= l 1.18e-7)
     (sqrt (* U (* (+ t (/ t_1 (/ Om l))) (* 2.0 n))))
     (sqrt (+ (/ t_1 (/ Om (* 2.0 (* U (* n l))))) (* U (* 2.0 (* n t))))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	double tmp;
	if (l <= 1.18e-7) {
		tmp = sqrt((U * ((t + (t_1 / (Om / l))) * (2.0 * n))));
	} else {
		tmp = sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (l * (-2.0d0)) - ((u - u_42) / (om / (n * l)))
    if (l <= 1.18d-7) then
        tmp = sqrt((u * ((t + (t_1 / (om / l))) * (2.0d0 * n))))
    else
        tmp = sqrt(((t_1 / (om / (2.0d0 * (u * (n * l))))) + (u * (2.0d0 * (n * t)))))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	double tmp;
	if (l <= 1.18e-7) {
		tmp = Math.sqrt((U * ((t + (t_1 / (Om / l))) * (2.0 * n))));
	} else {
		tmp = Math.sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)))
	tmp = 0
	if l <= 1.18e-7:
		tmp = math.sqrt((U * ((t + (t_1 / (Om / l))) * (2.0 * n))))
	else:
		tmp = math.sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))))
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = Float64(Float64(l * -2.0) - Float64(Float64(U - U_42_) / Float64(Om / Float64(n * l))))
	tmp = 0.0
	if (l <= 1.18e-7)
		tmp = sqrt(Float64(U * Float64(Float64(t + Float64(t_1 / Float64(Om / l))) * Float64(2.0 * n))));
	else
		tmp = sqrt(Float64(Float64(t_1 / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l))))) + Float64(U * Float64(2.0 * Float64(n * t)))));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = (l * -2.0) - ((U - U_42_) / (Om / (n * l)));
	tmp = 0.0;
	if (l <= 1.18e-7)
		tmp = sqrt((U * ((t + (t_1 / (Om / l))) * (2.0 * n))));
	else
		tmp = sqrt(((t_1 / (Om / (2.0 * (U * (n * l))))) + (U * (2.0 * (n * t)))));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[(N[(l * -2.0), $MachinePrecision] - N[(N[(U - U$42$), $MachinePrecision] / N[(Om / N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[l, 1.18e-7], N[Sqrt[N[(U * N[(N[(t + N[(t$95$1 / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[Sqrt[N[(N[(t$95$1 / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}\\
\mathbf{if}\;\ell \leq 1.18 \cdot 10^{-7}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(t + \frac{t\_1}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{t\_1}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if l < 1.18e-7

    1. Initial program 50.7%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified54.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr58.5%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]

    if 1.18e-7 < l

    1. Initial program 38.1%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified57.5%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr62.6%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6473.2%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified73.2%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr70.1%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification60.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 1.18 \cdot 10^{-7}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(t + \frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{\ell \cdot -2 - \frac{U - U*}{\frac{Om}{n \cdot \ell}}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 9: 62.1% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot \frac{n}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{if}\;n \leq -4.2 \cdot 10^{-32}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;n \leq 1.08 \cdot 10^{-144}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1
         (sqrt
          (*
           (* 2.0 (* U n))
           (+ t (* (/ l Om) (+ (* l -2.0) (* (- U* U) (/ n (/ Om l))))))))))
   (if (<= n -4.2e-32)
     t_1
     (if (<= n 1.08e-144)
       (sqrt
        (+ (* U (* 2.0 (* n t))) (/ (* l -2.0) (/ Om (* 2.0 (* U (* n l)))))))
       t_1))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * (n / (Om / l))))))));
	double tmp;
	if (n <= -4.2e-32) {
		tmp = t_1;
	} else if (n <= 1.08e-144) {
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = sqrt(((2.0d0 * (u * n)) * (t + ((l / om) * ((l * (-2.0d0)) + ((u_42 - u) * (n / (om / l))))))))
    if (n <= (-4.2d-32)) then
        tmp = t_1
    else if (n <= 1.08d-144) then
        tmp = sqrt(((u * (2.0d0 * (n * t))) + ((l * (-2.0d0)) / (om / (2.0d0 * (u * (n * l)))))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = Math.sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * (n / (Om / l))))))));
	double tmp;
	if (n <= -4.2e-32) {
		tmp = t_1;
	} else if (n <= 1.08e-144) {
		tmp = Math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = math.sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * (n / (Om / l))))))))
	tmp = 0
	if n <= -4.2e-32:
		tmp = t_1
	elif n <= 1.08e-144:
		tmp = math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))))
	else:
		tmp = t_1
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = sqrt(Float64(Float64(2.0 * Float64(U * n)) * Float64(t + Float64(Float64(l / Om) * Float64(Float64(l * -2.0) + Float64(Float64(U_42_ - U) * Float64(n / Float64(Om / l))))))))
	tmp = 0.0
	if (n <= -4.2e-32)
		tmp = t_1;
	elseif (n <= 1.08e-144)
		tmp = sqrt(Float64(Float64(U * Float64(2.0 * Float64(n * t))) + Float64(Float64(l * -2.0) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l)))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * (n / (Om / l))))))));
	tmp = 0.0;
	if (n <= -4.2e-32)
		tmp = t_1;
	elseif (n <= 1.08e-144)
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[Sqrt[N[(N[(2.0 * N[(U * n), $MachinePrecision]), $MachinePrecision] * N[(t + N[(N[(l / Om), $MachinePrecision] * N[(N[(l * -2.0), $MachinePrecision] + N[(N[(U$42$ - U), $MachinePrecision] * N[(n / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[n, -4.2e-32], t$95$1, If[LessEqual[n, 1.08e-144], N[Sqrt[N[(N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(l * -2.0), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot \frac{n}{\frac{Om}{\ell}}\right)\right)}\\
\mathbf{if}\;n \leq -4.2 \cdot 10^{-32}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;n \leq 1.08 \cdot 10^{-144}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if n < -4.1999999999999998e-32 or 1.08e-144 < n

    1. Initial program 56.0%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified65.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\left(\frac{n \cdot \ell}{Om} \cdot \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\left(\frac{n \cdot \ell}{Om}\right), \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      3. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\left(n \cdot \frac{\ell}{Om}\right), \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      4. clear-numN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\left(n \cdot \frac{1}{\frac{Om}{\ell}}\right), \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      5. un-div-invN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\left(\frac{n}{\frac{Om}{\ell}}\right), \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(n, \left(\frac{Om}{\ell}\right)\right), \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(n, \mathsf{/.f64}\left(Om, \ell\right)\right), \left(U* - U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      8. --lowering--.f6466.9%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(n, \mathsf{/.f64}\left(Om, \ell\right)\right), \mathsf{\_.f64}\left(U*, U\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
    6. Applied egg-rr66.9%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\color{blue}{\frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)} + \ell \cdot -2\right)\right)} \]

    if -4.1999999999999998e-32 < n < 1.08e-144

    1. Initial program 36.5%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified40.4%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr46.9%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6454.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified54.0%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr59.2%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]
    12. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell\right)}, \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    13. Step-by-step derivation
      1. *-lowering-*.f6455.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    14. Simplified55.0%

      \[\leadsto \sqrt{\frac{\color{blue}{-2 \cdot \ell}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification62.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -4.2 \cdot 10^{-32}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot \frac{n}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{elif}\;n \leq 1.08 \cdot 10^{-144}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot \frac{n}{\frac{Om}{\ell}}\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 60.9% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{n \cdot \ell}{Om}\\ t_2 := 2 \cdot \left(U \cdot n\right)\\ \mathbf{if}\;n \leq -4.2 \cdot 10^{-34}:\\ \;\;\;\;\sqrt{t\_2 \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot t\_1\right)\right)}\\ \mathbf{elif}\;n \leq 1.86 \cdot 10^{-143}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t\_2 \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot t\_1\right)\right)}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1 (/ (* n l) Om)) (t_2 (* 2.0 (* U n))))
   (if (<= n -4.2e-34)
     (sqrt (* t_2 (+ t (* (/ l Om) (+ (* l -2.0) (* U* t_1))))))
     (if (<= n 1.86e-143)
       (sqrt
        (+ (* U (* 2.0 (* n t))) (/ (* l -2.0) (/ Om (* 2.0 (* U (* n l)))))))
       (sqrt (* t_2 (+ t (* (/ l Om) (+ (* l -2.0) (* (- U* U) t_1))))))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (n * l) / Om;
	double t_2 = 2.0 * (U * n);
	double tmp;
	if (n <= -4.2e-34) {
		tmp = sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + (U_42_ * t_1))))));
	} else if (n <= 1.86e-143) {
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * t_1))))));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = (n * l) / om
    t_2 = 2.0d0 * (u * n)
    if (n <= (-4.2d-34)) then
        tmp = sqrt((t_2 * (t + ((l / om) * ((l * (-2.0d0)) + (u_42 * t_1))))))
    else if (n <= 1.86d-143) then
        tmp = sqrt(((u * (2.0d0 * (n * t))) + ((l * (-2.0d0)) / (om / (2.0d0 * (u * (n * l)))))))
    else
        tmp = sqrt((t_2 * (t + ((l / om) * ((l * (-2.0d0)) + ((u_42 - u) * t_1))))))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (n * l) / Om;
	double t_2 = 2.0 * (U * n);
	double tmp;
	if (n <= -4.2e-34) {
		tmp = Math.sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + (U_42_ * t_1))))));
	} else if (n <= 1.86e-143) {
		tmp = Math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = Math.sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * t_1))))));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = (n * l) / Om
	t_2 = 2.0 * (U * n)
	tmp = 0
	if n <= -4.2e-34:
		tmp = math.sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + (U_42_ * t_1))))))
	elif n <= 1.86e-143:
		tmp = math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))))
	else:
		tmp = math.sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * t_1))))))
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = Float64(Float64(n * l) / Om)
	t_2 = Float64(2.0 * Float64(U * n))
	tmp = 0.0
	if (n <= -4.2e-34)
		tmp = sqrt(Float64(t_2 * Float64(t + Float64(Float64(l / Om) * Float64(Float64(l * -2.0) + Float64(U_42_ * t_1))))));
	elseif (n <= 1.86e-143)
		tmp = sqrt(Float64(Float64(U * Float64(2.0 * Float64(n * t))) + Float64(Float64(l * -2.0) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l)))))));
	else
		tmp = sqrt(Float64(t_2 * Float64(t + Float64(Float64(l / Om) * Float64(Float64(l * -2.0) + Float64(Float64(U_42_ - U) * t_1))))));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = (n * l) / Om;
	t_2 = 2.0 * (U * n);
	tmp = 0.0;
	if (n <= -4.2e-34)
		tmp = sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + (U_42_ * t_1))))));
	elseif (n <= 1.86e-143)
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	else
		tmp = sqrt((t_2 * (t + ((l / Om) * ((l * -2.0) + ((U_42_ - U) * t_1))))));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[(N[(n * l), $MachinePrecision] / Om), $MachinePrecision]}, Block[{t$95$2 = N[(2.0 * N[(U * n), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[n, -4.2e-34], N[Sqrt[N[(t$95$2 * N[(t + N[(N[(l / Om), $MachinePrecision] * N[(N[(l * -2.0), $MachinePrecision] + N[(U$42$ * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[n, 1.86e-143], N[Sqrt[N[(N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(l * -2.0), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[Sqrt[N[(t$95$2 * N[(t + N[(N[(l / Om), $MachinePrecision] * N[(N[(l * -2.0), $MachinePrecision] + N[(N[(U$42$ - U), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{n \cdot \ell}{Om}\\
t_2 := 2 \cdot \left(U \cdot n\right)\\
\mathbf{if}\;n \leq -4.2 \cdot 10^{-34}:\\
\;\;\;\;\sqrt{t\_2 \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot t\_1\right)\right)}\\

\mathbf{elif}\;n \leq 1.86 \cdot 10^{-143}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t\_2 \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot t\_1\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if n < -4.2000000000000002e-34

    1. Initial program 51.1%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified63.3%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
    6. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\left(U* \cdot \frac{\ell \cdot n}{Om}\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{\ell \cdot n}{Om}\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(n \cdot \ell\right), Om\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      5. *-lowering-*.f6463.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \ell\right), Om\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
    7. Simplified63.3%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\color{blue}{U* \cdot \frac{n \cdot \ell}{Om}} + \ell \cdot -2\right)\right)} \]

    if -4.2000000000000002e-34 < n < 1.86e-143

    1. Initial program 36.5%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified40.4%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr46.9%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6454.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified54.0%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr59.2%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]
    12. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell\right)}, \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    13. Step-by-step derivation
      1. *-lowering-*.f6455.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    14. Simplified55.0%

      \[\leadsto \sqrt{\frac{\color{blue}{-2 \cdot \ell}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)} \]

    if 1.86e-143 < n

    1. Initial program 59.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified67.3%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
  3. Recombined 3 regimes into one program.
  4. Final simplification61.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -4.2 \cdot 10^{-34}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot \frac{n \cdot \ell}{Om}\right)\right)}\\ \mathbf{elif}\;n \leq 1.86 \cdot 10^{-143}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + \left(U* - U\right) \cdot \frac{n \cdot \ell}{Om}\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 11: 60.9% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot \frac{n \cdot \ell}{Om}\right)\right)}\\ \mathbf{if}\;n \leq -9.5 \cdot 10^{-34}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;n \leq 4.1 \cdot 10^{-144}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1
         (sqrt
          (*
           (* 2.0 (* U n))
           (+ t (* (/ l Om) (+ (* l -2.0) (* U* (/ (* n l) Om)))))))))
   (if (<= n -9.5e-34)
     t_1
     (if (<= n 4.1e-144)
       (sqrt
        (+ (* U (* 2.0 (* n t))) (/ (* l -2.0) (/ Om (* 2.0 (* U (* n l)))))))
       t_1))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + (U_42_ * ((n * l) / Om)))))));
	double tmp;
	if (n <= -9.5e-34) {
		tmp = t_1;
	} else if (n <= 4.1e-144) {
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = sqrt(((2.0d0 * (u * n)) * (t + ((l / om) * ((l * (-2.0d0)) + (u_42 * ((n * l) / om)))))))
    if (n <= (-9.5d-34)) then
        tmp = t_1
    else if (n <= 4.1d-144) then
        tmp = sqrt(((u * (2.0d0 * (n * t))) + ((l * (-2.0d0)) / (om / (2.0d0 * (u * (n * l)))))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = Math.sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + (U_42_ * ((n * l) / Om)))))));
	double tmp;
	if (n <= -9.5e-34) {
		tmp = t_1;
	} else if (n <= 4.1e-144) {
		tmp = Math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = math.sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + (U_42_ * ((n * l) / Om)))))))
	tmp = 0
	if n <= -9.5e-34:
		tmp = t_1
	elif n <= 4.1e-144:
		tmp = math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))))
	else:
		tmp = t_1
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = sqrt(Float64(Float64(2.0 * Float64(U * n)) * Float64(t + Float64(Float64(l / Om) * Float64(Float64(l * -2.0) + Float64(U_42_ * Float64(Float64(n * l) / Om)))))))
	tmp = 0.0
	if (n <= -9.5e-34)
		tmp = t_1;
	elseif (n <= 4.1e-144)
		tmp = sqrt(Float64(Float64(U * Float64(2.0 * Float64(n * t))) + Float64(Float64(l * -2.0) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l)))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = sqrt(((2.0 * (U * n)) * (t + ((l / Om) * ((l * -2.0) + (U_42_ * ((n * l) / Om)))))));
	tmp = 0.0;
	if (n <= -9.5e-34)
		tmp = t_1;
	elseif (n <= 4.1e-144)
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[Sqrt[N[(N[(2.0 * N[(U * n), $MachinePrecision]), $MachinePrecision] * N[(t + N[(N[(l / Om), $MachinePrecision] * N[(N[(l * -2.0), $MachinePrecision] + N[(U$42$ * N[(N[(n * l), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[n, -9.5e-34], t$95$1, If[LessEqual[n, 4.1e-144], N[Sqrt[N[(N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(l * -2.0), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot \frac{n \cdot \ell}{Om}\right)\right)}\\
\mathbf{if}\;n \leq -9.5 \cdot 10^{-34}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;n \leq 4.1 \cdot 10^{-144}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if n < -9.49999999999999985e-34 or 4.1e-144 < n

    1. Initial program 56.0%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified65.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
    6. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\left(U* \cdot \frac{\ell \cdot n}{Om}\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{\ell \cdot n}{Om}\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(n \cdot \ell\right), Om\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
      5. *-lowering-*.f6465.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \ell\right), Om\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right)\right)\right)\right)\right) \]
    7. Simplified65.5%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\color{blue}{U* \cdot \frac{n \cdot \ell}{Om}} + \ell \cdot -2\right)\right)} \]

    if -9.49999999999999985e-34 < n < 4.1e-144

    1. Initial program 36.5%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified40.4%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr46.9%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6454.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified54.0%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr59.2%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]
    12. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell\right)}, \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    13. Step-by-step derivation
      1. *-lowering-*.f6455.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    14. Simplified55.0%

      \[\leadsto \sqrt{\frac{\color{blue}{-2 \cdot \ell}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification61.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -9.5 \cdot 10^{-34}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot \frac{n \cdot \ell}{Om}\right)\right)}\\ \mathbf{elif}\;n \leq 4.1 \cdot 10^{-144}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + U* \cdot \frac{n \cdot \ell}{Om}\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 12: 55.8% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{n \cdot \ell}{Om}\\ \mathbf{if}\;U* \leq -6 \cdot 10^{+56}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{t\_1 \cdot \left(U* \cdot \ell\right)}{Om}\right)}\\ \mathbf{elif}\;U* \leq 2.1 \cdot 10^{+41}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot t\_1}{\frac{Om}{\ell}}\right)\right)}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1 (/ (* n l) Om)))
   (if (<= U* -6e+56)
     (sqrt (* (* 2.0 (* U n)) (+ t (/ (* t_1 (* U* l)) Om))))
     (if (<= U* 2.1e+41)
       (sqrt
        (+ (* U (* 2.0 (* n t))) (/ (* l -2.0) (/ Om (* 2.0 (* U (* n l)))))))
       (sqrt (* U (* (* 2.0 n) (+ t (/ (* U* t_1) (/ Om l))))))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (n * l) / Om;
	double tmp;
	if (U_42_ <= -6e+56) {
		tmp = sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))));
	} else if (U_42_ <= 2.1e+41) {
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (n * l) / om
    if (u_42 <= (-6d+56)) then
        tmp = sqrt(((2.0d0 * (u * n)) * (t + ((t_1 * (u_42 * l)) / om))))
    else if (u_42 <= 2.1d+41) then
        tmp = sqrt(((u * (2.0d0 * (n * t))) + ((l * (-2.0d0)) / (om / (2.0d0 * (u * (n * l)))))))
    else
        tmp = sqrt((u * ((2.0d0 * n) * (t + ((u_42 * t_1) / (om / l))))))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (n * l) / Om;
	double tmp;
	if (U_42_ <= -6e+56) {
		tmp = Math.sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))));
	} else if (U_42_ <= 2.1e+41) {
		tmp = Math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	} else {
		tmp = Math.sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = (n * l) / Om
	tmp = 0
	if U_42_ <= -6e+56:
		tmp = math.sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))))
	elif U_42_ <= 2.1e+41:
		tmp = math.sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))))
	else:
		tmp = math.sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))))
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = Float64(Float64(n * l) / Om)
	tmp = 0.0
	if (U_42_ <= -6e+56)
		tmp = sqrt(Float64(Float64(2.0 * Float64(U * n)) * Float64(t + Float64(Float64(t_1 * Float64(U_42_ * l)) / Om))));
	elseif (U_42_ <= 2.1e+41)
		tmp = sqrt(Float64(Float64(U * Float64(2.0 * Float64(n * t))) + Float64(Float64(l * -2.0) / Float64(Om / Float64(2.0 * Float64(U * Float64(n * l)))))));
	else
		tmp = sqrt(Float64(U * Float64(Float64(2.0 * n) * Float64(t + Float64(Float64(U_42_ * t_1) / Float64(Om / l))))));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = (n * l) / Om;
	tmp = 0.0;
	if (U_42_ <= -6e+56)
		tmp = sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))));
	elseif (U_42_ <= 2.1e+41)
		tmp = sqrt(((U * (2.0 * (n * t))) + ((l * -2.0) / (Om / (2.0 * (U * (n * l)))))));
	else
		tmp = sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[(N[(n * l), $MachinePrecision] / Om), $MachinePrecision]}, If[LessEqual[U$42$, -6e+56], N[Sqrt[N[(N[(2.0 * N[(U * n), $MachinePrecision]), $MachinePrecision] * N[(t + N[(N[(t$95$1 * N[(U$42$ * l), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[U$42$, 2.1e+41], N[Sqrt[N[(N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(l * -2.0), $MachinePrecision] / N[(Om / N[(2.0 * N[(U * N[(n * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[Sqrt[N[(U * N[(N[(2.0 * n), $MachinePrecision] * N[(t + N[(N[(U$42$ * t$95$1), $MachinePrecision] / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{n \cdot \ell}{Om}\\
\mathbf{if}\;U* \leq -6 \cdot 10^{+56}:\\
\;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{t\_1 \cdot \left(U* \cdot \ell\right)}{Om}\right)}\\

\mathbf{elif}\;U* \leq 2.1 \cdot 10^{+41}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot t\_1}{\frac{Om}{\ell}}\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if U* < -6.00000000000000012e56

    1. Initial program 47.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified55.2%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in Om around -inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \color{blue}{\left(t + -1 \cdot \frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)}\right)\right) \]
    6. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\mathsf{neg}\left(\frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right)\right) \]
      2. unsub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t - \frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right) \]
      3. --lowering--.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      4. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{\left(\mathsf{neg}\left(\frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      5. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{\left(\mathsf{neg}\left({\ell}^{2} \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      6. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(\mathsf{neg}\left(\frac{n \cdot \left(U* - U\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      7. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right) + {\ell}^{2} \cdot 2}{Om}\right)\right)\right)\right) \]
      9. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om} + 2\right)}{Om}\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(2 + -1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)\right)\right)\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\left({\ell}^{2} \cdot \left(2 + -1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
    7. Simplified44.6%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \color{blue}{\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)}} \]
    8. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(-1 \cdot \frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)}, Om\right)\right)\right)\right) \]
    9. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
      2. neg-lowering-neg.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\left(U* \cdot \left({\ell}^{2} \cdot n\right)\right), Om\right)\right), Om\right)\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\left(\left(U* \cdot {\ell}^{2}\right) \cdot n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(U* \cdot {\ell}^{2}\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \left({\ell}^{2}\right)\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \left(\ell \cdot \ell\right)\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      8. *-lowering-*.f6451.6%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, \ell\right)\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
    10. Simplified51.6%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t - \frac{\color{blue}{-\frac{\left(U* \cdot \left(\ell \cdot \ell\right)\right) \cdot n}{Om}}}{Om}\right)} \]
    11. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \left(\ell \cdot \ell\right)\right) \cdot \frac{n}{Om}\right)\right), Om\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(\left(U* \cdot \ell\right) \cdot \ell\right) \cdot \frac{n}{Om}\right)\right), Om\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \left(\ell \cdot \frac{n}{Om}\right)\right)\right), Om\right)\right)\right)\right) \]
      4. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \frac{\ell \cdot n}{Om}\right)\right), Om\right)\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \frac{n \cdot \ell}{Om}\right)\right), Om\right)\right)\right)\right) \]
      6. clear-numN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \frac{1}{\frac{Om}{n \cdot \ell}}\right)\right), Om\right)\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\left(U* \cdot \ell\right), \left(\frac{1}{\frac{Om}{n \cdot \ell}}\right)\right)\right), Om\right)\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \left(\frac{1}{\frac{Om}{n \cdot \ell}}\right)\right)\right), Om\right)\right)\right)\right) \]
      9. clear-numN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \left(\frac{n \cdot \ell}{Om}\right)\right)\right), Om\right)\right)\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \mathsf{/.f64}\left(\left(n \cdot \ell\right), Om\right)\right)\right), Om\right)\right)\right)\right) \]
      11. *-lowering-*.f6456.9%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \ell\right), Om\right)\right)\right), Om\right)\right)\right)\right) \]
    12. Applied egg-rr56.9%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t - \frac{-\color{blue}{\left(U* \cdot \ell\right) \cdot \frac{n \cdot \ell}{Om}}}{Om}\right)} \]

    if -6.00000000000000012e56 < U* < 2.1e41

    1. Initial program 50.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified54.3%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) + t\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right) \cdot \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right) + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      6. fma-defineN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\mathsf{fma}\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
      7. fma-lowering-fma.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right), \left(\frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr59.0%

      \[\leadsto \sqrt{\color{blue}{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \frac{\ell}{Om} \cdot \left(2 \cdot \left(n \cdot U\right)\right), 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)}} \]
    7. Taylor expanded in l around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \color{blue}{\left(2 \cdot \frac{U \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \left(\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\left(2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \left(\ell \cdot n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
      5. *-lowering-*.f6464.4%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(n, \ell\right)\right)\right), \mathsf{*.f64}\left(\ell, -2\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(\ell, n\right)\right)\right), Om\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(n, U\right), t\right)\right)\right)\right) \]
    9. Simplified64.4%

      \[\leadsto \sqrt{\mathsf{fma}\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2, \color{blue}{\frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}}, 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)} \]
    10. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + \left(2 \cdot \left(U \cdot n\right)\right) \cdot t\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om} + 2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \frac{2 \cdot \left(U \cdot \left(\ell \cdot n\right)\right)}{Om}\right), \left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)\right)\right) \]
    11. Applied egg-rr63.6%

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)}} \]
    12. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell\right)}, \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    13. Step-by-step derivation
      1. *-lowering-*.f6461.1%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(Om, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \ell\right)\right)\right)\right)\right), \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right)\right)\right) \]
    14. Simplified61.1%

      \[\leadsto \sqrt{\frac{\color{blue}{-2 \cdot \ell}}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}} + U \cdot \left(2 \cdot \left(n \cdot t\right)\right)} \]

    if 2.1e41 < U*

    1. Initial program 41.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified57.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr65.3%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\left(U* \cdot \frac{\ell \cdot n}{Om}\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{\ell \cdot n}{Om}\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      4. *-lowering-*.f6461.1%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, n\right), Om\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    9. Simplified61.1%

      \[\leadsto \sqrt{\left(\left(t + \frac{\color{blue}{U* \cdot \frac{\ell \cdot n}{Om}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification60.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U* \leq -6 \cdot 10^{+56}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\frac{n \cdot \ell}{Om} \cdot \left(U* \cdot \ell\right)}{Om}\right)}\\ \mathbf{elif}\;U* \leq 2.1 \cdot 10^{+41}:\\ \;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot t\right)\right) + \frac{\ell \cdot -2}{\frac{Om}{2 \cdot \left(U \cdot \left(n \cdot \ell\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot \frac{n \cdot \ell}{Om}}{\frac{Om}{\ell}}\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 13: 54.7% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{n \cdot \ell}{Om}\\ \mathbf{if}\;n \leq -5.6 \cdot 10^{-103}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot t\_1}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{elif}\;n \leq 3.3 \cdot 10^{-67}:\\ \;\;\;\;\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right) + -4 \cdot \left(\left(\ell \cdot \left(n \cdot \ell\right)\right) \cdot \frac{U}{Om}\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{t\_1 \cdot \left(U* \cdot \ell\right)}{Om}\right)}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1 (/ (* n l) Om)))
   (if (<= n -5.6e-103)
     (sqrt (* U (* (* 2.0 n) (+ t (/ (* U* t_1) (/ Om l))))))
     (if (<= n 3.3e-67)
       (sqrt (+ (* 2.0 (* t (* U n))) (* -4.0 (* (* l (* n l)) (/ U Om)))))
       (sqrt (* (* 2.0 (* U n)) (+ t (/ (* t_1 (* U* l)) Om))))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (n * l) / Om;
	double tmp;
	if (n <= -5.6e-103) {
		tmp = sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))));
	} else if (n <= 3.3e-67) {
		tmp = sqrt(((2.0 * (t * (U * n))) + (-4.0 * ((l * (n * l)) * (U / Om)))));
	} else {
		tmp = sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (n * l) / om
    if (n <= (-5.6d-103)) then
        tmp = sqrt((u * ((2.0d0 * n) * (t + ((u_42 * t_1) / (om / l))))))
    else if (n <= 3.3d-67) then
        tmp = sqrt(((2.0d0 * (t * (u * n))) + ((-4.0d0) * ((l * (n * l)) * (u / om)))))
    else
        tmp = sqrt(((2.0d0 * (u * n)) * (t + ((t_1 * (u_42 * l)) / om))))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = (n * l) / Om;
	double tmp;
	if (n <= -5.6e-103) {
		tmp = Math.sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))));
	} else if (n <= 3.3e-67) {
		tmp = Math.sqrt(((2.0 * (t * (U * n))) + (-4.0 * ((l * (n * l)) * (U / Om)))));
	} else {
		tmp = Math.sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = (n * l) / Om
	tmp = 0
	if n <= -5.6e-103:
		tmp = math.sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))))
	elif n <= 3.3e-67:
		tmp = math.sqrt(((2.0 * (t * (U * n))) + (-4.0 * ((l * (n * l)) * (U / Om)))))
	else:
		tmp = math.sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))))
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = Float64(Float64(n * l) / Om)
	tmp = 0.0
	if (n <= -5.6e-103)
		tmp = sqrt(Float64(U * Float64(Float64(2.0 * n) * Float64(t + Float64(Float64(U_42_ * t_1) / Float64(Om / l))))));
	elseif (n <= 3.3e-67)
		tmp = sqrt(Float64(Float64(2.0 * Float64(t * Float64(U * n))) + Float64(-4.0 * Float64(Float64(l * Float64(n * l)) * Float64(U / Om)))));
	else
		tmp = sqrt(Float64(Float64(2.0 * Float64(U * n)) * Float64(t + Float64(Float64(t_1 * Float64(U_42_ * l)) / Om))));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = (n * l) / Om;
	tmp = 0.0;
	if (n <= -5.6e-103)
		tmp = sqrt((U * ((2.0 * n) * (t + ((U_42_ * t_1) / (Om / l))))));
	elseif (n <= 3.3e-67)
		tmp = sqrt(((2.0 * (t * (U * n))) + (-4.0 * ((l * (n * l)) * (U / Om)))));
	else
		tmp = sqrt(((2.0 * (U * n)) * (t + ((t_1 * (U_42_ * l)) / Om))));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[(N[(n * l), $MachinePrecision] / Om), $MachinePrecision]}, If[LessEqual[n, -5.6e-103], N[Sqrt[N[(U * N[(N[(2.0 * n), $MachinePrecision] * N[(t + N[(N[(U$42$ * t$95$1), $MachinePrecision] / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], If[LessEqual[n, 3.3e-67], N[Sqrt[N[(N[(2.0 * N[(t * N[(U * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(-4.0 * N[(N[(l * N[(n * l), $MachinePrecision]), $MachinePrecision] * N[(U / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[Sqrt[N[(N[(2.0 * N[(U * n), $MachinePrecision]), $MachinePrecision] * N[(t + N[(N[(t$95$1 * N[(U$42$ * l), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{n \cdot \ell}{Om}\\
\mathbf{if}\;n \leq -5.6 \cdot 10^{-103}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot t\_1}{\frac{Om}{\ell}}\right)\right)}\\

\mathbf{elif}\;n \leq 3.3 \cdot 10^{-67}:\\
\;\;\;\;\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right) + -4 \cdot \left(\left(\ell \cdot \left(n \cdot \ell\right)\right) \cdot \frac{U}{Om}\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{t\_1 \cdot \left(U* \cdot \ell\right)}{Om}\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if n < -5.60000000000000046e-103

    1. Initial program 47.7%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified59.6%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr60.3%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\left(U* \cdot \frac{\ell \cdot n}{Om}\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{\ell \cdot n}{Om}\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      4. *-lowering-*.f6456.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, n\right), Om\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    9. Simplified56.5%

      \[\leadsto \sqrt{\left(\left(t + \frac{\color{blue}{U* \cdot \frac{\ell \cdot n}{Om}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]

    if -5.60000000000000046e-103 < n < 3.3000000000000002e-67

    1. Initial program 44.6%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified47.6%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om} + 2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right) + -4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right) \]
      2. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \left(\frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\left(U \cdot \left({\ell}^{2} \cdot n\right)\right), Om\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \left({\ell}^{2} \cdot n\right)\right), Om\right)\right)\right)\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \left(n \cdot {\ell}^{2}\right)\right), Om\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left({\ell}^{2}\right)\right)\right), Om\right)\right)\right)\right) \]
      12. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left(\ell \cdot \ell\right)\right)\right), Om\right)\right)\right)\right) \]
      13. *-lowering-*.f6446.9%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), Om\right)\right)\right)\right) \]
    7. Simplified46.9%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right) + -4 \cdot \frac{U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)}{Om}}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \left(\frac{\left(n \cdot \left(\ell \cdot \ell\right)\right) \cdot U}{Om}\right)\right)\right)\right) \]
      2. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \left(\left(n \cdot \left(\ell \cdot \ell\right)\right) \cdot \frac{U}{Om}\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\left(n \cdot \left(\ell \cdot \ell\right)\right), \left(\frac{U}{Om}\right)\right)\right)\right)\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\left(\left(\ell \cdot \ell\right) \cdot n\right), \left(\frac{U}{Om}\right)\right)\right)\right)\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\left(\ell \cdot \left(\ell \cdot n\right)\right), \left(\frac{U}{Om}\right)\right)\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(\ell \cdot n\right)\right), \left(\frac{U}{Om}\right)\right)\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(n \cdot \ell\right)\right), \left(\frac{U}{Om}\right)\right)\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \ell\right)\right), \left(\frac{U}{Om}\right)\right)\right)\right)\right) \]
      9. /-lowering-/.f6455.2%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \ell\right)\right), \mathsf{/.f64}\left(U, Om\right)\right)\right)\right)\right) \]
    9. Applied egg-rr55.2%

      \[\leadsto \sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot t\right) + -4 \cdot \color{blue}{\left(\left(\ell \cdot \left(n \cdot \ell\right)\right) \cdot \frac{U}{Om}\right)}} \]

    if 3.3000000000000002e-67 < n

    1. Initial program 53.2%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified61.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in Om around -inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \color{blue}{\left(t + -1 \cdot \frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)}\right)\right) \]
    6. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\mathsf{neg}\left(\frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right)\right) \]
      2. unsub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t - \frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right) \]
      3. --lowering--.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{-1 \cdot \frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      4. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{\left(\mathsf{neg}\left(\frac{{\ell}^{2} \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      5. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{\left(\mathsf{neg}\left({\ell}^{2} \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      6. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(\mathsf{neg}\left(\frac{n \cdot \left(U* - U\right)}{Om}\right)\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      7. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right) + 2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right) + {\ell}^{2} \cdot 2}{Om}\right)\right)\right)\right) \]
      9. distribute-lft-inN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(-1 \cdot \frac{n \cdot \left(U* - U\right)}{Om} + 2\right)}{Om}\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \left(\frac{{\ell}^{2} \cdot \left(2 + -1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)\right)\right)\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\left({\ell}^{2} \cdot \left(2 + -1 \cdot \frac{n \cdot \left(U* - U\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
    7. Simplified51.7%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \color{blue}{\left(t - \frac{\left(\ell \cdot \ell\right) \cdot \left(2 - \frac{n \cdot \left(U* - U\right)}{Om}\right)}{Om}\right)}} \]
    8. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(-1 \cdot \frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)}, Om\right)\right)\right)\right) \]
    9. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\left(\mathsf{neg}\left(\frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
      2. neg-lowering-neg.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right), Om\right)\right)\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\left(U* \cdot \left({\ell}^{2} \cdot n\right)\right), Om\right)\right), Om\right)\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\left(\left(U* \cdot {\ell}^{2}\right) \cdot n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(U* \cdot {\ell}^{2}\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \left({\ell}^{2}\right)\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \left(\ell \cdot \ell\right)\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
      8. *-lowering-*.f6454.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, \ell\right)\right), n\right), Om\right)\right), Om\right)\right)\right)\right) \]
    10. Simplified54.5%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t - \frac{\color{blue}{-\frac{\left(U* \cdot \left(\ell \cdot \ell\right)\right) \cdot n}{Om}}}{Om}\right)} \]
    11. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \left(\ell \cdot \ell\right)\right) \cdot \frac{n}{Om}\right)\right), Om\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(\left(U* \cdot \ell\right) \cdot \ell\right) \cdot \frac{n}{Om}\right)\right), Om\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \left(\ell \cdot \frac{n}{Om}\right)\right)\right), Om\right)\right)\right)\right) \]
      4. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \frac{\ell \cdot n}{Om}\right)\right), Om\right)\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \frac{n \cdot \ell}{Om}\right)\right), Om\right)\right)\right)\right) \]
      6. clear-numN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\left(\left(U* \cdot \ell\right) \cdot \frac{1}{\frac{Om}{n \cdot \ell}}\right)\right), Om\right)\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\left(U* \cdot \ell\right), \left(\frac{1}{\frac{Om}{n \cdot \ell}}\right)\right)\right), Om\right)\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \left(\frac{1}{\frac{Om}{n \cdot \ell}}\right)\right)\right), Om\right)\right)\right)\right) \]
      9. clear-numN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \left(\frac{n \cdot \ell}{Om}\right)\right)\right), Om\right)\right)\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \mathsf{/.f64}\left(\left(n \cdot \ell\right), Om\right)\right)\right), Om\right)\right)\right)\right) \]
      11. *-lowering-*.f6458.7%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \ell\right), Om\right)\right)\right), Om\right)\right)\right)\right) \]
    12. Applied egg-rr58.7%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t - \frac{-\color{blue}{\left(U* \cdot \ell\right) \cdot \frac{n \cdot \ell}{Om}}}{Om}\right)} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification56.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -5.6 \cdot 10^{-103}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot \frac{n \cdot \ell}{Om}}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{elif}\;n \leq 3.3 \cdot 10^{-67}:\\ \;\;\;\;\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right) + -4 \cdot \left(\left(\ell \cdot \left(n \cdot \ell\right)\right) \cdot \frac{U}{Om}\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t + \frac{\frac{n \cdot \ell}{Om} \cdot \left(U* \cdot \ell\right)}{Om}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 14: 55.3% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot \frac{n \cdot \ell}{Om}}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{if}\;U* \leq -1.3 \cdot 10^{+34}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;U* \leq 3.1 \cdot 10^{+37}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot -2}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (let* ((t_1
         (sqrt (* U (* (* 2.0 n) (+ t (/ (* U* (/ (* n l) Om)) (/ Om l))))))))
   (if (<= U* -1.3e+34)
     t_1
     (if (<= U* 3.1e+37)
       (sqrt (* U (* (* 2.0 n) (+ t (/ (* l -2.0) (/ Om l))))))
       t_1))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = sqrt((U * ((2.0 * n) * (t + ((U_42_ * ((n * l) / Om)) / (Om / l))))));
	double tmp;
	if (U_42_ <= -1.3e+34) {
		tmp = t_1;
	} else if (U_42_ <= 3.1e+37) {
		tmp = sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: t_1
    real(8) :: tmp
    t_1 = sqrt((u * ((2.0d0 * n) * (t + ((u_42 * ((n * l) / om)) / (om / l))))))
    if (u_42 <= (-1.3d+34)) then
        tmp = t_1
    else if (u_42 <= 3.1d+37) then
        tmp = sqrt((u * ((2.0d0 * n) * (t + ((l * (-2.0d0)) / (om / l))))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double t_1 = Math.sqrt((U * ((2.0 * n) * (t + ((U_42_ * ((n * l) / Om)) / (Om / l))))));
	double tmp;
	if (U_42_ <= -1.3e+34) {
		tmp = t_1;
	} else if (U_42_ <= 3.1e+37) {
		tmp = Math.sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	t_1 = math.sqrt((U * ((2.0 * n) * (t + ((U_42_ * ((n * l) / Om)) / (Om / l))))))
	tmp = 0
	if U_42_ <= -1.3e+34:
		tmp = t_1
	elif U_42_ <= 3.1e+37:
		tmp = math.sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))))
	else:
		tmp = t_1
	return tmp
function code(n, U, t, l, Om, U_42_)
	t_1 = sqrt(Float64(U * Float64(Float64(2.0 * n) * Float64(t + Float64(Float64(U_42_ * Float64(Float64(n * l) / Om)) / Float64(Om / l))))))
	tmp = 0.0
	if (U_42_ <= -1.3e+34)
		tmp = t_1;
	elseif (U_42_ <= 3.1e+37)
		tmp = sqrt(Float64(U * Float64(Float64(2.0 * n) * Float64(t + Float64(Float64(l * -2.0) / Float64(Om / l))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	t_1 = sqrt((U * ((2.0 * n) * (t + ((U_42_ * ((n * l) / Om)) / (Om / l))))));
	tmp = 0.0;
	if (U_42_ <= -1.3e+34)
		tmp = t_1;
	elseif (U_42_ <= 3.1e+37)
		tmp = sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := Block[{t$95$1 = N[Sqrt[N[(U * N[(N[(2.0 * n), $MachinePrecision] * N[(t + N[(N[(U$42$ * N[(N[(n * l), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision] / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[U$42$, -1.3e+34], t$95$1, If[LessEqual[U$42$, 3.1e+37], N[Sqrt[N[(U * N[(N[(2.0 * n), $MachinePrecision] * N[(t + N[(N[(l * -2.0), $MachinePrecision] / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot \frac{n \cdot \ell}{Om}}{\frac{Om}{\ell}}\right)\right)}\\
\mathbf{if}\;U* \leq -1.3 \cdot 10^{+34}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;U* \leq 3.1 \cdot 10^{+37}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot -2}{\frac{Om}{\ell}}\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if U* < -1.29999999999999999e34 or 3.1000000000000002e37 < U*

    1. Initial program 44.7%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified56.4%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr61.2%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}, \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\left(U* \cdot \frac{\ell \cdot n}{Om}\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{\ell \cdot n}{Om}\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      3. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
      4. *-lowering-*.f6458.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, n\right), Om\right)\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    9. Simplified58.3%

      \[\leadsto \sqrt{\left(\left(t + \frac{\color{blue}{U* \cdot \frac{\ell \cdot n}{Om}}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]

    if -1.29999999999999999e34 < U* < 3.1000000000000002e37

    1. Initial program 50.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified54.4%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr55.8%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell\right)}, \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6453.6%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    9. Simplified53.6%

      \[\leadsto \sqrt{\left(\left(t + \frac{\color{blue}{-2 \cdot \ell}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification55.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U* \leq -1.3 \cdot 10^{+34}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot \frac{n \cdot \ell}{Om}}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{elif}\;U* \leq 3.1 \cdot 10^{+37}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot -2}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{U* \cdot \frac{n \cdot \ell}{Om}}{\frac{Om}{\ell}}\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 15: 40.5% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\ell \leq 9.8 \cdot 10^{-36}:\\ \;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \mathbf{elif}\;\ell \leq 3.1 \cdot 10^{+179}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(t - \frac{2 \cdot \left(\ell \cdot \ell\right)}{Om}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= l 9.8e-36)
   (pow (* U (* 2.0 (* n t))) 0.5)
   (if (<= l 3.1e+179)
     (sqrt (* (* U (* 2.0 n)) (- t (/ (* 2.0 (* l l)) Om))))
     (/ (* (* n l) (sqrt (* 2.0 (* U U*)))) Om))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 9.8e-36) {
		tmp = pow((U * (2.0 * (n * t))), 0.5);
	} else if (l <= 3.1e+179) {
		tmp = sqrt(((U * (2.0 * n)) * (t - ((2.0 * (l * l)) / Om))));
	} else {
		tmp = ((n * l) * sqrt((2.0 * (U * U_42_)))) / Om;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (l <= 9.8d-36) then
        tmp = (u * (2.0d0 * (n * t))) ** 0.5d0
    else if (l <= 3.1d+179) then
        tmp = sqrt(((u * (2.0d0 * n)) * (t - ((2.0d0 * (l * l)) / om))))
    else
        tmp = ((n * l) * sqrt((2.0d0 * (u * u_42)))) / om
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 9.8e-36) {
		tmp = Math.pow((U * (2.0 * (n * t))), 0.5);
	} else if (l <= 3.1e+179) {
		tmp = Math.sqrt(((U * (2.0 * n)) * (t - ((2.0 * (l * l)) / Om))));
	} else {
		tmp = ((n * l) * Math.sqrt((2.0 * (U * U_42_)))) / Om;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if l <= 9.8e-36:
		tmp = math.pow((U * (2.0 * (n * t))), 0.5)
	elif l <= 3.1e+179:
		tmp = math.sqrt(((U * (2.0 * n)) * (t - ((2.0 * (l * l)) / Om))))
	else:
		tmp = ((n * l) * math.sqrt((2.0 * (U * U_42_)))) / Om
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (l <= 9.8e-36)
		tmp = Float64(U * Float64(2.0 * Float64(n * t))) ^ 0.5;
	elseif (l <= 3.1e+179)
		tmp = sqrt(Float64(Float64(U * Float64(2.0 * n)) * Float64(t - Float64(Float64(2.0 * Float64(l * l)) / Om))));
	else
		tmp = Float64(Float64(Float64(n * l) * sqrt(Float64(2.0 * Float64(U * U_42_)))) / Om);
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (l <= 9.8e-36)
		tmp = (U * (2.0 * (n * t))) ^ 0.5;
	elseif (l <= 3.1e+179)
		tmp = sqrt(((U * (2.0 * n)) * (t - ((2.0 * (l * l)) / Om))));
	else
		tmp = ((n * l) * sqrt((2.0 * (U * U_42_)))) / Om;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[l, 9.8e-36], N[Power[N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision], If[LessEqual[l, 3.1e+179], N[Sqrt[N[(N[(U * N[(2.0 * n), $MachinePrecision]), $MachinePrecision] * N[(t - N[(N[(2.0 * N[(l * l), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[(N[(n * l), $MachinePrecision] * N[Sqrt[N[(2.0 * N[(U * U$42$), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\ell \leq 9.8 \cdot 10^{-36}:\\
\;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\

\mathbf{elif}\;\ell \leq 3.1 \cdot 10^{+179}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(t - \frac{2 \cdot \left(\ell \cdot \ell\right)}{Om}\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if l < 9.7999999999999994e-36

    1. Initial program 51.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified55.5%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6440.2%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified40.2%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6438.4%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr38.4%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. sqrt-prodN/A

        \[\leadsto \sqrt{2} \cdot \color{blue}{\sqrt{\left(t \cdot U\right) \cdot n}} \]
      2. associate-*l*N/A

        \[\leadsto \sqrt{2} \cdot \sqrt{t \cdot \left(U \cdot n\right)} \]
      3. *-commutativeN/A

        \[\leadsto \sqrt{2} \cdot \sqrt{\left(U \cdot n\right) \cdot t} \]
      4. sqrt-prodN/A

        \[\leadsto \sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)} \]
      5. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      6. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right), \color{blue}{\frac{1}{2}}\right) \]
      7. associate-*l*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      9. associate-*r*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\left(\left(U \cdot 2\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(U \cdot \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
      15. *-lowering-*.f6444.5%

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right), \frac{1}{2}\right) \]
    11. Applied egg-rr44.5%

      \[\leadsto \color{blue}{{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}} \]

    if 9.7999999999999994e-36 < l < 3.1e179

    1. Initial program 55.3%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \color{blue}{\left(t + -2 \cdot \frac{{\ell}^{2}}{Om}\right)}\right)\right) \]
    4. Step-by-step derivation
      1. metadata-evalN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \left(t + \left(\mathsf{neg}\left(2\right)\right) \cdot \frac{{\ell}^{2}}{Om}\right)\right)\right) \]
      2. cancel-sign-sub-invN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \left(t - 2 \cdot \frac{{\ell}^{2}}{Om}\right)\right)\right) \]
      3. --lowering--.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{\_.f64}\left(t, \left(2 \cdot \frac{{\ell}^{2}}{Om}\right)\right)\right)\right) \]
      4. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{\_.f64}\left(t, \left(\frac{2 \cdot {\ell}^{2}}{Om}\right)\right)\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\left(2 \cdot {\ell}^{2}\right), Om\right)\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left({\ell}^{2}\right)\right), Om\right)\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \left(\ell \cdot \ell\right)\right), Om\right)\right)\right)\right) \]
      8. *-lowering-*.f6449.9%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{\_.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\ell, \ell\right)\right), Om\right)\right)\right)\right) \]
    5. Simplified49.9%

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{\left(t - \frac{2 \cdot \left(\ell \cdot \ell\right)}{Om}\right)}} \]

    if 3.1e179 < l

    1. Initial program 10.0%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified41.1%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr44.3%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

      \[\leadsto \color{blue}{\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om} \cdot \sqrt{U \cdot U*}} \]
    8. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om}\right), \color{blue}{\left(\sqrt{U \cdot U*}\right)}\right) \]
      2. /-lowering-/.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \left(n \cdot \sqrt{2}\right)\right), Om\right), \left(\sqrt{\color{blue}{U} \cdot U*}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \left(\sqrt{2}\right)\right)\right), Om\right), \left(\sqrt{U \cdot U*}\right)\right) \]
      5. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \left(\sqrt{U \cdot U*}\right)\right) \]
      6. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \mathsf{sqrt.f64}\left(\left(U \cdot U*\right)\right)\right) \]
      7. *-lowering-*.f6430.4%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(U, U*\right)\right)\right) \]
    9. Simplified30.4%

      \[\leadsto \color{blue}{\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om} \cdot \sqrt{U \cdot U*}} \]
    10. Step-by-step derivation
      1. associate-*l/N/A

        \[\leadsto \frac{\left(\ell \cdot \left(n \cdot \sqrt{2}\right)\right) \cdot \sqrt{U \cdot U*}}{\color{blue}{Om}} \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\ell \cdot \left(n \cdot \sqrt{2}\right)\right) \cdot \sqrt{U \cdot U*}\right), \color{blue}{Om}\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\left(\ell \cdot n\right) \cdot \sqrt{2}\right) \cdot \sqrt{U \cdot U*}\right), Om\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\left(n \cdot \ell\right) \cdot \sqrt{2}\right) \cdot \sqrt{U \cdot U*}\right), Om\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(n \cdot \ell\right) \cdot \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(n \cdot \ell\right), \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      8. sqrt-unprodN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \left(\sqrt{2 \cdot \left(U \cdot U*\right)}\right)\right), Om\right) \]
      9. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\left(2 \cdot \left(U \cdot U*\right)\right)\right)\right), Om\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot U*\right)\right)\right)\right), Om\right) \]
      11. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U* \cdot U\right)\right)\right)\right), Om\right) \]
      12. *-lowering-*.f6430.4%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U*, U\right)\right)\right)\right), Om\right) \]
    11. Applied egg-rr30.4%

      \[\leadsto \color{blue}{\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U* \cdot U\right)}}{Om}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification43.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 9.8 \cdot 10^{-36}:\\ \;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \mathbf{elif}\;\ell \leq 3.1 \cdot 10^{+179}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(t - \frac{2 \cdot \left(\ell \cdot \ell\right)}{Om}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\ \end{array} \]
  5. Add Preprocessing

Alternative 16: 39.2% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\ell \leq 4.2 \cdot 10^{+52}:\\ \;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \mathbf{elif}\;\ell \leq 5.8 \cdot 10^{+179}:\\ \;\;\;\;\sqrt{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= l 4.2e+52)
   (pow (* U (* 2.0 (* n t))) 0.5)
   (if (<= l 5.8e+179)
     (sqrt (/ (* -4.0 (* U (* n (* l l)))) Om))
     (/ (* (* n l) (sqrt (* 2.0 (* U U*)))) Om))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 4.2e+52) {
		tmp = pow((U * (2.0 * (n * t))), 0.5);
	} else if (l <= 5.8e+179) {
		tmp = sqrt(((-4.0 * (U * (n * (l * l)))) / Om));
	} else {
		tmp = ((n * l) * sqrt((2.0 * (U * U_42_)))) / Om;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (l <= 4.2d+52) then
        tmp = (u * (2.0d0 * (n * t))) ** 0.5d0
    else if (l <= 5.8d+179) then
        tmp = sqrt((((-4.0d0) * (u * (n * (l * l)))) / om))
    else
        tmp = ((n * l) * sqrt((2.0d0 * (u * u_42)))) / om
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 4.2e+52) {
		tmp = Math.pow((U * (2.0 * (n * t))), 0.5);
	} else if (l <= 5.8e+179) {
		tmp = Math.sqrt(((-4.0 * (U * (n * (l * l)))) / Om));
	} else {
		tmp = ((n * l) * Math.sqrt((2.0 * (U * U_42_)))) / Om;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if l <= 4.2e+52:
		tmp = math.pow((U * (2.0 * (n * t))), 0.5)
	elif l <= 5.8e+179:
		tmp = math.sqrt(((-4.0 * (U * (n * (l * l)))) / Om))
	else:
		tmp = ((n * l) * math.sqrt((2.0 * (U * U_42_)))) / Om
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (l <= 4.2e+52)
		tmp = Float64(U * Float64(2.0 * Float64(n * t))) ^ 0.5;
	elseif (l <= 5.8e+179)
		tmp = sqrt(Float64(Float64(-4.0 * Float64(U * Float64(n * Float64(l * l)))) / Om));
	else
		tmp = Float64(Float64(Float64(n * l) * sqrt(Float64(2.0 * Float64(U * U_42_)))) / Om);
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (l <= 4.2e+52)
		tmp = (U * (2.0 * (n * t))) ^ 0.5;
	elseif (l <= 5.8e+179)
		tmp = sqrt(((-4.0 * (U * (n * (l * l)))) / Om));
	else
		tmp = ((n * l) * sqrt((2.0 * (U * U_42_)))) / Om;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[l, 4.2e+52], N[Power[N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision], If[LessEqual[l, 5.8e+179], N[Sqrt[N[(N[(-4.0 * N[(U * N[(n * N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]], $MachinePrecision], N[(N[(N[(n * l), $MachinePrecision] * N[Sqrt[N[(2.0 * N[(U * U$42$), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\ell \leq 4.2 \cdot 10^{+52}:\\
\;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\

\mathbf{elif}\;\ell \leq 5.8 \cdot 10^{+179}:\\
\;\;\;\;\sqrt{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if l < 4.2e52

    1. Initial program 51.6%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified55.5%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6439.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified39.5%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6437.8%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr37.8%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. sqrt-prodN/A

        \[\leadsto \sqrt{2} \cdot \color{blue}{\sqrt{\left(t \cdot U\right) \cdot n}} \]
      2. associate-*l*N/A

        \[\leadsto \sqrt{2} \cdot \sqrt{t \cdot \left(U \cdot n\right)} \]
      3. *-commutativeN/A

        \[\leadsto \sqrt{2} \cdot \sqrt{\left(U \cdot n\right) \cdot t} \]
      4. sqrt-prodN/A

        \[\leadsto \sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)} \]
      5. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      6. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right), \color{blue}{\frac{1}{2}}\right) \]
      7. associate-*l*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      9. associate-*r*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\left(\left(U \cdot 2\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(U \cdot \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
      15. *-lowering-*.f6443.4%

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right), \frac{1}{2}\right) \]
    11. Applied egg-rr43.4%

      \[\leadsto \color{blue}{{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}} \]

    if 4.2e52 < l < 5.80000000000000038e179

    1. Initial program 55.8%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified70.9%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om} + 2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right) + -4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right) \]
      2. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \left(\frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\left(U \cdot \left({\ell}^{2} \cdot n\right)\right), Om\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \left({\ell}^{2} \cdot n\right)\right), Om\right)\right)\right)\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \left(n \cdot {\ell}^{2}\right)\right), Om\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left({\ell}^{2}\right)\right)\right), Om\right)\right)\right)\right) \]
      12. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left(\ell \cdot \ell\right)\right)\right), Om\right)\right)\right)\right) \]
      13. *-lowering-*.f6451.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), Om\right)\right)\right)\right) \]
    7. Simplified51.3%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right) + -4 \cdot \frac{U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)}{Om}}} \]
    8. Taylor expanded in t around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)}\right) \]
    9. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\frac{-4 \cdot \left(U \cdot \left({\ell}^{2} \cdot n\right)\right)}{Om}\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\left(-4 \cdot \left(U \cdot \left({\ell}^{2} \cdot n\right)\right)\right), Om\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \left(U \cdot \left({\ell}^{2} \cdot n\right)\right)\right), Om\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \left({\ell}^{2} \cdot n\right)\right)\right), Om\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \left(n \cdot {\ell}^{2}\right)\right)\right), Om\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left({\ell}^{2}\right)\right)\right)\right), Om\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left(\ell \cdot \ell\right)\right)\right)\right), Om\right)\right) \]
      8. *-lowering-*.f6446.6%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right), Om\right)\right) \]
    10. Simplified46.6%

      \[\leadsto \sqrt{\color{blue}{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}} \]

    if 5.80000000000000038e179 < l

    1. Initial program 10.0%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified41.1%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr44.3%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

      \[\leadsto \color{blue}{\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om} \cdot \sqrt{U \cdot U*}} \]
    8. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om}\right), \color{blue}{\left(\sqrt{U \cdot U*}\right)}\right) \]
      2. /-lowering-/.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \left(n \cdot \sqrt{2}\right)\right), Om\right), \left(\sqrt{\color{blue}{U} \cdot U*}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \left(\sqrt{2}\right)\right)\right), Om\right), \left(\sqrt{U \cdot U*}\right)\right) \]
      5. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \left(\sqrt{U \cdot U*}\right)\right) \]
      6. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \mathsf{sqrt.f64}\left(\left(U \cdot U*\right)\right)\right) \]
      7. *-lowering-*.f6430.4%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(U, U*\right)\right)\right) \]
    9. Simplified30.4%

      \[\leadsto \color{blue}{\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om} \cdot \sqrt{U \cdot U*}} \]
    10. Step-by-step derivation
      1. associate-*l/N/A

        \[\leadsto \frac{\left(\ell \cdot \left(n \cdot \sqrt{2}\right)\right) \cdot \sqrt{U \cdot U*}}{\color{blue}{Om}} \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\ell \cdot \left(n \cdot \sqrt{2}\right)\right) \cdot \sqrt{U \cdot U*}\right), \color{blue}{Om}\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\left(\ell \cdot n\right) \cdot \sqrt{2}\right) \cdot \sqrt{U \cdot U*}\right), Om\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\left(n \cdot \ell\right) \cdot \sqrt{2}\right) \cdot \sqrt{U \cdot U*}\right), Om\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(n \cdot \ell\right) \cdot \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(n \cdot \ell\right), \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      8. sqrt-unprodN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \left(\sqrt{2 \cdot \left(U \cdot U*\right)}\right)\right), Om\right) \]
      9. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\left(2 \cdot \left(U \cdot U*\right)\right)\right)\right), Om\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot U*\right)\right)\right)\right), Om\right) \]
      11. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U* \cdot U\right)\right)\right)\right), Om\right) \]
      12. *-lowering-*.f6430.4%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U*, U\right)\right)\right)\right), Om\right) \]
    11. Applied egg-rr30.4%

      \[\leadsto \color{blue}{\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U* \cdot U\right)}}{Om}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification42.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 4.2 \cdot 10^{+52}:\\ \;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \mathbf{elif}\;\ell \leq 5.8 \cdot 10^{+179}:\\ \;\;\;\;\sqrt{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\ \end{array} \]
  5. Add Preprocessing

Alternative 17: 47.0% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\ell \leq 3.1 \cdot 10^{+182}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot -2}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= l 3.1e+182)
   (sqrt (* U (* (* 2.0 n) (+ t (/ (* l -2.0) (/ Om l))))))
   (/ (* (* n l) (sqrt (* 2.0 (* U U*)))) Om)))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 3.1e+182) {
		tmp = sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))));
	} else {
		tmp = ((n * l) * sqrt((2.0 * (U * U_42_)))) / Om;
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (l <= 3.1d+182) then
        tmp = sqrt((u * ((2.0d0 * n) * (t + ((l * (-2.0d0)) / (om / l))))))
    else
        tmp = ((n * l) * sqrt((2.0d0 * (u * u_42)))) / om
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 3.1e+182) {
		tmp = Math.sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))));
	} else {
		tmp = ((n * l) * Math.sqrt((2.0 * (U * U_42_)))) / Om;
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if l <= 3.1e+182:
		tmp = math.sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))))
	else:
		tmp = ((n * l) * math.sqrt((2.0 * (U * U_42_)))) / Om
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (l <= 3.1e+182)
		tmp = sqrt(Float64(U * Float64(Float64(2.0 * n) * Float64(t + Float64(Float64(l * -2.0) / Float64(Om / l))))));
	else
		tmp = Float64(Float64(Float64(n * l) * sqrt(Float64(2.0 * Float64(U * U_42_)))) / Om);
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (l <= 3.1e+182)
		tmp = sqrt((U * ((2.0 * n) * (t + ((l * -2.0) / (Om / l))))));
	else
		tmp = ((n * l) * sqrt((2.0 * (U * U_42_)))) / Om;
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[l, 3.1e+182], N[Sqrt[N[(U * N[(N[(2.0 * n), $MachinePrecision] * N[(t + N[(N[(l * -2.0), $MachinePrecision] / N[(Om / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(N[(N[(n * l), $MachinePrecision] * N[Sqrt[N[(2.0 * N[(U * U$42$), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\ell \leq 3.1 \cdot 10^{+182}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot -2}{\frac{Om}{\ell}}\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if l < 3.09999999999999996e182

    1. Initial program 52.0%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified56.8%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr59.8%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\color{blue}{\left(-2 \cdot \ell\right)}, \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6450.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(t, \mathsf{/.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(Om, \ell\right)\right)\right), \mathsf{*.f64}\left(2, n\right)\right), U\right)\right) \]
    9. Simplified50.5%

      \[\leadsto \sqrt{\left(\left(t + \frac{\color{blue}{-2 \cdot \ell}}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U} \]

    if 3.09999999999999996e182 < l

    1. Initial program 10.0%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified41.1%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
    6. Applied egg-rr44.3%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

      \[\leadsto \color{blue}{\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om} \cdot \sqrt{U \cdot U*}} \]
    8. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om}\right), \color{blue}{\left(\sqrt{U \cdot U*}\right)}\right) \]
      2. /-lowering-/.f64N/A

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \left(n \cdot \sqrt{2}\right)\right), Om\right), \left(\sqrt{\color{blue}{U} \cdot U*}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \left(\sqrt{2}\right)\right)\right), Om\right), \left(\sqrt{U \cdot U*}\right)\right) \]
      5. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \left(\sqrt{U \cdot U*}\right)\right) \]
      6. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \mathsf{sqrt.f64}\left(\left(U \cdot U*\right)\right)\right) \]
      7. *-lowering-*.f6430.4%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \mathsf{sqrt.f64}\left(2\right)\right)\right), Om\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(U, U*\right)\right)\right) \]
    9. Simplified30.4%

      \[\leadsto \color{blue}{\frac{\ell \cdot \left(n \cdot \sqrt{2}\right)}{Om} \cdot \sqrt{U \cdot U*}} \]
    10. Step-by-step derivation
      1. associate-*l/N/A

        \[\leadsto \frac{\left(\ell \cdot \left(n \cdot \sqrt{2}\right)\right) \cdot \sqrt{U \cdot U*}}{\color{blue}{Om}} \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\ell \cdot \left(n \cdot \sqrt{2}\right)\right) \cdot \sqrt{U \cdot U*}\right), \color{blue}{Om}\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\left(\ell \cdot n\right) \cdot \sqrt{2}\right) \cdot \sqrt{U \cdot U*}\right), Om\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(\left(n \cdot \ell\right) \cdot \sqrt{2}\right) \cdot \sqrt{U \cdot U*}\right), Om\right) \]
      5. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(\left(\left(n \cdot \ell\right) \cdot \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(n \cdot \ell\right), \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \left(\sqrt{2} \cdot \sqrt{U \cdot U*}\right)\right), Om\right) \]
      8. sqrt-unprodN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \left(\sqrt{2 \cdot \left(U \cdot U*\right)}\right)\right), Om\right) \]
      9. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\left(2 \cdot \left(U \cdot U*\right)\right)\right)\right), Om\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot U*\right)\right)\right)\right), Om\right) \]
      11. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U* \cdot U\right)\right)\right)\right), Om\right) \]
      12. *-lowering-*.f6430.4%

        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(n, \ell\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(U*, U\right)\right)\right)\right), Om\right) \]
    11. Applied egg-rr30.4%

      \[\leadsto \color{blue}{\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U* \cdot U\right)}}{Om}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification48.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 3.1 \cdot 10^{+182}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{\ell \cdot -2}{\frac{Om}{\ell}}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(n \cdot \ell\right) \cdot \sqrt{2 \cdot \left(U \cdot U*\right)}}{Om}\\ \end{array} \]
  5. Add Preprocessing

Alternative 18: 39.1% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\ell \leq 4.5 \cdot 10^{+52}:\\ \;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= l 4.5e+52)
   (pow (* U (* 2.0 (* n t))) 0.5)
   (sqrt (/ (* -4.0 (* U (* n (* l l)))) Om))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 4.5e+52) {
		tmp = pow((U * (2.0 * (n * t))), 0.5);
	} else {
		tmp = sqrt(((-4.0 * (U * (n * (l * l)))) / Om));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (l <= 4.5d+52) then
        tmp = (u * (2.0d0 * (n * t))) ** 0.5d0
    else
        tmp = sqrt((((-4.0d0) * (u * (n * (l * l)))) / om))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (l <= 4.5e+52) {
		tmp = Math.pow((U * (2.0 * (n * t))), 0.5);
	} else {
		tmp = Math.sqrt(((-4.0 * (U * (n * (l * l)))) / Om));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if l <= 4.5e+52:
		tmp = math.pow((U * (2.0 * (n * t))), 0.5)
	else:
		tmp = math.sqrt(((-4.0 * (U * (n * (l * l)))) / Om))
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (l <= 4.5e+52)
		tmp = Float64(U * Float64(2.0 * Float64(n * t))) ^ 0.5;
	else
		tmp = sqrt(Float64(Float64(-4.0 * Float64(U * Float64(n * Float64(l * l)))) / Om));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (l <= 4.5e+52)
		tmp = (U * (2.0 * (n * t))) ^ 0.5;
	else
		tmp = sqrt(((-4.0 * (U * (n * (l * l)))) / Om));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[l, 4.5e+52], N[Power[N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision], N[Sqrt[N[(N[(-4.0 * N[(U * N[(n * N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]], $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\ell \leq 4.5 \cdot 10^{+52}:\\
\;\;\;\;{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if l < 4.5e52

    1. Initial program 51.6%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified55.5%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6439.5%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified39.5%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6437.8%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr37.8%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
    10. Step-by-step derivation
      1. sqrt-prodN/A

        \[\leadsto \sqrt{2} \cdot \color{blue}{\sqrt{\left(t \cdot U\right) \cdot n}} \]
      2. associate-*l*N/A

        \[\leadsto \sqrt{2} \cdot \sqrt{t \cdot \left(U \cdot n\right)} \]
      3. *-commutativeN/A

        \[\leadsto \sqrt{2} \cdot \sqrt{\left(U \cdot n\right) \cdot t} \]
      4. sqrt-prodN/A

        \[\leadsto \sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)} \]
      5. pow1/2N/A

        \[\leadsto {\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
      6. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right), \color{blue}{\frac{1}{2}}\right) \]
      7. associate-*l*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      9. associate-*r*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\left(\left(U \cdot 2\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{pow.f64}\left(\left(U \cdot \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
      15. *-lowering-*.f6443.4%

        \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right), \frac{1}{2}\right) \]
    11. Applied egg-rr43.4%

      \[\leadsto \color{blue}{{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}} \]

    if 4.5e52 < l

    1. Initial program 30.9%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified54.6%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in Om around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om} + 2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right) + -4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right) \]
      2. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \left(\frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\left(U \cdot \left({\ell}^{2} \cdot n\right)\right), Om\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \left({\ell}^{2} \cdot n\right)\right), Om\right)\right)\right)\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \left(n \cdot {\ell}^{2}\right)\right), Om\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left({\ell}^{2}\right)\right)\right), Om\right)\right)\right)\right) \]
      12. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left(\ell \cdot \ell\right)\right)\right), Om\right)\right)\right)\right) \]
      13. *-lowering-*.f6429.4%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right), \mathsf{*.f64}\left(-4, \mathsf{/.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), Om\right)\right)\right)\right) \]
    7. Simplified29.4%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right) + -4 \cdot \frac{U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)}{Om}}} \]
    8. Taylor expanded in t around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(-4 \cdot \frac{U \cdot \left({\ell}^{2} \cdot n\right)}{Om}\right)}\right) \]
    9. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\frac{-4 \cdot \left(U \cdot \left({\ell}^{2} \cdot n\right)\right)}{Om}\right)\right) \]
      2. /-lowering-/.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\left(-4 \cdot \left(U \cdot \left({\ell}^{2} \cdot n\right)\right)\right), Om\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \left(U \cdot \left({\ell}^{2} \cdot n\right)\right)\right), Om\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \left({\ell}^{2} \cdot n\right)\right)\right), Om\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \left(n \cdot {\ell}^{2}\right)\right)\right), Om\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left({\ell}^{2}\right)\right)\right)\right), Om\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \left(\ell \cdot \ell\right)\right)\right)\right), Om\right)\right) \]
      8. *-lowering-*.f6427.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(-4, \mathsf{*.f64}\left(U, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right), Om\right)\right) \]
    10. Simplified27.3%

      \[\leadsto \sqrt{\color{blue}{\frac{-4 \cdot \left(U \cdot \left(n \cdot \left(\ell \cdot \ell\right)\right)\right)}{Om}}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 19: 36.1% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;U \leq -1 \cdot 10^{-86}:\\ \;\;\;\;\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot t\right)\right)}\\ \end{array} \end{array} \]
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<= U -1e-86) (sqrt (* 2.0 (* t (* U n)))) (sqrt (* 2.0 (* n (* U t))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (U <= -1e-86) {
		tmp = sqrt((2.0 * (t * (U * n))));
	} else {
		tmp = sqrt((2.0 * (n * (U * t))));
	}
	return tmp;
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    real(8) :: tmp
    if (u <= (-1d-86)) then
        tmp = sqrt((2.0d0 * (t * (u * n))))
    else
        tmp = sqrt((2.0d0 * (n * (u * t))))
    end if
    code = tmp
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if (U <= -1e-86) {
		tmp = Math.sqrt((2.0 * (t * (U * n))));
	} else {
		tmp = Math.sqrt((2.0 * (n * (U * t))));
	}
	return tmp;
}
def code(n, U, t, l, Om, U_42_):
	tmp = 0
	if U <= -1e-86:
		tmp = math.sqrt((2.0 * (t * (U * n))))
	else:
		tmp = math.sqrt((2.0 * (n * (U * t))))
	return tmp
function code(n, U, t, l, Om, U_42_)
	tmp = 0.0
	if (U <= -1e-86)
		tmp = sqrt(Float64(2.0 * Float64(t * Float64(U * n))));
	else
		tmp = sqrt(Float64(2.0 * Float64(n * Float64(U * t))));
	end
	return tmp
end
function tmp_2 = code(n, U, t, l, Om, U_42_)
	tmp = 0.0;
	if (U <= -1e-86)
		tmp = sqrt((2.0 * (t * (U * n))));
	else
		tmp = sqrt((2.0 * (n * (U * t))));
	end
	tmp_2 = tmp;
end
code[n_, U_, t_, l_, Om_, U$42$_] := If[LessEqual[U, -1e-86], N[Sqrt[N[(2.0 * N[(t * N[(U * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[Sqrt[N[(2.0 * N[(n * N[(U * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;U \leq -1 \cdot 10^{-86}:\\
\;\;\;\;\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot t\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if U < -1.00000000000000008e-86

    1. Initial program 59.3%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified64.0%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6447.9%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified47.9%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]

    if -1.00000000000000008e-86 < U

    1. Initial program 43.4%

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
    2. Step-by-step derivation
      1. sqrt-lowering-sqrt.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
      6. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      7. sub-negN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
      8. associate-+l+N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
      10. +-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
    3. Simplified51.7%

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
      4. *-lowering-*.f6429.0%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
    7. Simplified29.0%

      \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
      2. associate-*l*N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
      6. *-lowering-*.f6431.3%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
    9. Applied egg-rr31.3%

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification36.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \leq -1 \cdot 10^{-86}:\\ \;\;\;\;\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot t\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 20: 37.8% accurate, 2.1× speedup?

\[\begin{array}{l} \\ {\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5} \end{array} \]
(FPCore (n U t l Om U*) :precision binary64 (pow (* U (* 2.0 (* n t))) 0.5))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	return pow((U * (2.0 * (n * t))), 0.5);
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    code = (u * (2.0d0 * (n * t))) ** 0.5d0
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	return Math.pow((U * (2.0 * (n * t))), 0.5);
}
def code(n, U, t, l, Om, U_42_):
	return math.pow((U * (2.0 * (n * t))), 0.5)
function code(n, U, t, l, Om, U_42_)
	return Float64(U * Float64(2.0 * Float64(n * t))) ^ 0.5
end
function tmp = code(n, U, t, l, Om, U_42_)
	tmp = (U * (2.0 * (n * t))) ^ 0.5;
end
code[n_, U_, t_, l_, Om_, U$42$_] := N[Power[N[(U * N[(2.0 * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision]
\begin{array}{l}

\\
{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}
\end{array}
Derivation
  1. Initial program 48.0%

    \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
  2. Step-by-step derivation
    1. sqrt-lowering-sqrt.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    2. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    3. associate-*l*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    4. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    6. sub-negN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
    7. sub-negN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
    8. associate-+l+N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
    9. +-lowering-+.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
    10. +-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
  3. Simplified55.3%

    \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in t around inf

    \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
  6. Step-by-step derivation
    1. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
    2. associate-*r*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
    4. *-lowering-*.f6434.5%

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
  7. Simplified34.5%

    \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
  8. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(n \cdot U\right) \cdot t\right)\right)\right) \]
    2. associate-*l*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot \left(U \cdot t\right)\right)\right)\right) \]
    3. *-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot t\right) \cdot n\right)\right)\right) \]
    4. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot t\right), n\right)\right)\right) \]
    5. *-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(t \cdot U\right), n\right)\right)\right) \]
    6. *-lowering-*.f6433.1%

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(t, U\right), n\right)\right)\right) \]
  9. Applied egg-rr33.1%

    \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(t \cdot U\right) \cdot n\right)}} \]
  10. Step-by-step derivation
    1. sqrt-prodN/A

      \[\leadsto \sqrt{2} \cdot \color{blue}{\sqrt{\left(t \cdot U\right) \cdot n}} \]
    2. associate-*l*N/A

      \[\leadsto \sqrt{2} \cdot \sqrt{t \cdot \left(U \cdot n\right)} \]
    3. *-commutativeN/A

      \[\leadsto \sqrt{2} \cdot \sqrt{\left(U \cdot n\right) \cdot t} \]
    4. sqrt-prodN/A

      \[\leadsto \sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)} \]
    5. pow1/2N/A

      \[\leadsto {\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right)}^{\color{blue}{\frac{1}{2}}} \]
    6. pow-lowering-pow.f64N/A

      \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(\left(U \cdot n\right) \cdot t\right)\right), \color{blue}{\frac{1}{2}}\right) \]
    7. associate-*l*N/A

      \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
    8. *-commutativeN/A

      \[\leadsto \mathsf{pow.f64}\left(\left(2 \cdot \left(U \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
    9. associate-*r*N/A

      \[\leadsto \mathsf{pow.f64}\left(\left(\left(2 \cdot U\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
    10. *-commutativeN/A

      \[\leadsto \mathsf{pow.f64}\left(\left(\left(U \cdot 2\right) \cdot \left(t \cdot n\right)\right), \frac{1}{2}\right) \]
    11. associate-*l*N/A

      \[\leadsto \mathsf{pow.f64}\left(\left(U \cdot \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
    12. *-lowering-*.f64N/A

      \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \left(2 \cdot \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
    13. *-lowering-*.f64N/A

      \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(t \cdot n\right)\right)\right), \frac{1}{2}\right) \]
    14. *-commutativeN/A

      \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \left(n \cdot t\right)\right)\right), \frac{1}{2}\right) \]
    15. *-lowering-*.f6439.0%

      \[\leadsto \mathsf{pow.f64}\left(\mathsf{*.f64}\left(U, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, t\right)\right)\right), \frac{1}{2}\right) \]
  11. Applied egg-rr39.0%

    \[\leadsto \color{blue}{{\left(U \cdot \left(2 \cdot \left(n \cdot t\right)\right)\right)}^{0.5}} \]
  12. Add Preprocessing

Alternative 21: 35.7% accurate, 2.1× speedup?

\[\begin{array}{l} \\ \sqrt{U \cdot \left(t \cdot \left(2 \cdot n\right)\right)} \end{array} \]
(FPCore (n U t l Om U*) :precision binary64 (sqrt (* U (* t (* 2.0 n)))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	return sqrt((U * (t * (2.0 * n))));
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    code = sqrt((u * (t * (2.0d0 * n))))
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	return Math.sqrt((U * (t * (2.0 * n))));
}
def code(n, U, t, l, Om, U_42_):
	return math.sqrt((U * (t * (2.0 * n))))
function code(n, U, t, l, Om, U_42_)
	return sqrt(Float64(U * Float64(t * Float64(2.0 * n))))
end
function tmp = code(n, U, t, l, Om, U_42_)
	tmp = sqrt((U * (t * (2.0 * n))));
end
code[n_, U_, t_, l_, Om_, U$42$_] := N[Sqrt[N[(U * N[(t * N[(2.0 * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\sqrt{U \cdot \left(t \cdot \left(2 \cdot n\right)\right)}
\end{array}
Derivation
  1. Initial program 48.0%

    \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
  2. Step-by-step derivation
    1. sqrt-lowering-sqrt.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    2. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    3. associate-*l*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    4. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    6. sub-negN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
    7. sub-negN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
    8. associate-+l+N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
    9. +-lowering-+.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
    10. +-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
  3. Simplified55.3%

    \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
  4. Add Preprocessing
  5. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)\right)\right) \]
    2. associate-*r*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)\right) \]
    3. associate-*r*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)\right) \]
    4. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right) \cdot \left(2 \cdot n\right)\right), U\right)\right) \]
  6. Applied egg-rr58.3%

    \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot \left(2 \cdot n\right)\right) \cdot U}} \]
  7. Taylor expanded in t around inf

    \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\color{blue}{\left(2 \cdot \left(n \cdot t\right)\right)}, U\right)\right) \]
  8. Step-by-step derivation
    1. associate-*r*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot t\right), U\right)\right) \]
    2. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot n\right), t\right), U\right)\right) \]
    3. *-lowering-*.f6436.6%

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), t\right), U\right)\right) \]
  9. Simplified36.6%

    \[\leadsto \sqrt{\color{blue}{\left(\left(2 \cdot n\right) \cdot t\right)} \cdot U} \]
  10. Final simplification36.6%

    \[\leadsto \sqrt{U \cdot \left(t \cdot \left(2 \cdot n\right)\right)} \]
  11. Add Preprocessing

Alternative 22: 35.5% accurate, 2.1× speedup?

\[\begin{array}{l} \\ \sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right)} \end{array} \]
(FPCore (n U t l Om U*) :precision binary64 (sqrt (* 2.0 (* t (* U n)))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	return sqrt((2.0 * (t * (U * n))));
}
real(8) function code(n, u, t, l, om, u_42)
    real(8), intent (in) :: n
    real(8), intent (in) :: u
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: om
    real(8), intent (in) :: u_42
    code = sqrt((2.0d0 * (t * (u * n))))
end function
public static double code(double n, double U, double t, double l, double Om, double U_42_) {
	return Math.sqrt((2.0 * (t * (U * n))));
}
def code(n, U, t, l, Om, U_42_):
	return math.sqrt((2.0 * (t * (U * n))))
function code(n, U, t, l, Om, U_42_)
	return sqrt(Float64(2.0 * Float64(t * Float64(U * n))))
end
function tmp = code(n, U, t, l, Om, U_42_)
	tmp = sqrt((2.0 * (t * (U * n))));
end
code[n_, U_, t_, l_, Om_, U$42$_] := N[Sqrt[N[(2.0 * N[(t * N[(U * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right)}
\end{array}
Derivation
  1. Initial program 48.0%

    \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \]
  2. Step-by-step derivation
    1. sqrt-lowering-sqrt.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    2. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(\left(2 \cdot n\right) \cdot U\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    3. associate-*l*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\left(2 \cdot \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    4. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \left(n \cdot U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \]
    6. sub-negN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
    7. sub-negN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(\left(t + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right) \]
    8. associate-+l+N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \left(t + \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
    9. +-lowering-+.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right) + \left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)\right)\right) \]
    10. +-commutativeN/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(n, U\right)\right), \mathsf{+.f64}\left(t, \left(\left(\mathsf{neg}\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) + \left(\mathsf{neg}\left(2 \cdot \frac{\ell \cdot \ell}{Om}\right)\right)\right)\right)\right)\right) \]
  3. Simplified55.3%

    \[\leadsto \color{blue}{\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\left(U* - U\right) \cdot \frac{n \cdot \ell}{Om} + \ell \cdot -2\right)\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in t around inf

    \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}\right) \]
  6. Step-by-step derivation
    1. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(U \cdot \left(n \cdot t\right)\right)\right)\right) \]
    2. associate-*r*N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \left(\left(U \cdot n\right) \cdot t\right)\right)\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\left(U \cdot n\right), t\right)\right)\right) \]
    4. *-lowering-*.f6434.5%

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), t\right)\right)\right) \]
  7. Simplified34.5%

    \[\leadsto \sqrt{\color{blue}{2 \cdot \left(\left(U \cdot n\right) \cdot t\right)}} \]
  8. Final simplification34.5%

    \[\leadsto \sqrt{2 \cdot \left(t \cdot \left(U \cdot n\right)\right)} \]
  9. Add Preprocessing

Reproduce

?
herbie shell --seed 2024155 
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  :precision binary64
  (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))