Toniolo and Linder, Equation (13)

Percentage Accurate: 51.0% → 69.1%
Time: 23.5s
Alternatives: 19
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 19 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: 51.0% 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: 69.1% accurate, 0.5× speedup?

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

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

\mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+303}:\\
\;\;\;\;\sqrt{t\_1}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{\left(n \cdot U\right) \cdot \left(-2 + U* \cdot \frac{n}{Om}\right)}{Om}} \cdot \left(l\_m \cdot \sqrt{2}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) n) U) (-.f64 (-.f64 t (*.f64 #s(literal 2 binary64) (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) #s(literal 2 binary64))) (-.f64 U U*)))) < 1.00000000001e-313

    1. Initial program 8.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. Simplified23.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. 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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr49.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 U\right) \cdot \left(n \cdot 2\right)}} \]

    if 1.00000000001e-313 < (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) n) U) (-.f64 (-.f64 t (*.f64 #s(literal 2 binary64) (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) #s(literal 2 binary64))) (-.f64 U U*)))) < 4.9999999999999997e303

    1. Initial program 96.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. Add Preprocessing

    if 4.9999999999999997e303 < (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) n) U) (-.f64 (-.f64 t (*.f64 #s(literal 2 binary64) (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) #s(literal 2 binary64))) (-.f64 U U*))))

    1. Initial program 20.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. Simplified37.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr41.6%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, \ell\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \left(U* - U\right)\right)\right), Om\right)\right)\right), Om\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
      10. --lowering--.f6444.1%

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

      \[\leadsto \sqrt{\color{blue}{\frac{\left(U \cdot \ell\right) \cdot \left(-2 \cdot \ell + \frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)}{Om}} \cdot \left(n \cdot 2\right)} \]
    10. Applied egg-rr20.6%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(n, Om\right)\right), -2\right)\right), Om\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\left(\sqrt{2}\right)}\right)\right) \]
      14. sqrt-lowering-sqrt.f6424.6%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(n, Om\right)\right), -2\right)\right), Om\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right) \]
    13. Simplified24.6%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(U \cdot \left(2 \cdot n\right)\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) \leq 10^{-313}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right)\right) \cdot \left(2 \cdot n\right)}\\ \mathbf{elif}\;\left(U \cdot \left(2 \cdot n\right)\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) \leq 5 \cdot 10^{+303}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\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)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{\left(n \cdot U\right) \cdot \left(-2 + U* \cdot \frac{n}{Om}\right)}{Om}} \cdot \left(\ell \cdot \sqrt{2}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 64.4% accurate, 1.0× speedup?

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

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

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

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


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

    1. Initial program 56.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. Simplified69.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

    if -1.64999999999999994e-129 < n < 5.7999999999999999e-258

    1. Initial program 38.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. Simplified42.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. +-lowering-+.f64N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{+.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)\right), \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot t\right)\right)\right) \]
    6. Applied egg-rr59.5%

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

    if 5.7999999999999999e-258 < n

    1. Initial program 54.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. Simplified64.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr65.0%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -1.65 \cdot 10^{-129}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\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)}\\ \mathbf{elif}\;n \leq 5.8 \cdot 10^{-258}:\\ \;\;\;\;\sqrt{\left(\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2\right) \cdot \left(\left(U \cdot \left(2 \cdot n\right)\right) \cdot \frac{\ell}{Om}\right) + U \cdot \left(t \cdot \left(2 \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(t + \frac{\ell \cdot -2 + \frac{U* - U}{\frac{\frac{Om}{\ell}}{n}}}{\frac{Om}{\ell}}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 63.3% accurate, 1.0× speedup?

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

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

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

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{\left(n \cdot U\right) \cdot \left(-2 + U* \cdot \frac{n}{Om}\right)}{Om}} \cdot \left(l\_m \cdot \sqrt{2}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if l < 2.40000000000000006e-79

    1. Initial program 53.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. Simplified60.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

    if 2.40000000000000006e-79 < l < 8.2e187

    1. Initial program 54.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. Simplified65.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. 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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr71.4%

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

    if 8.2e187 < l

    1. Initial program 32.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. Simplified60.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\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 U\right) \cdot \left(n \cdot 2\right)}} \]
    7. Taylor expanded in t around 0

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \sqrt{\color{blue}{\frac{\left(U \cdot \ell\right) \cdot \left(-2 \cdot \ell + \frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)}{Om}} \cdot \left(n \cdot 2\right)} \]
    10. Applied egg-rr23.4%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(n, Om\right)\right), -2\right)\right), Om\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\left(\sqrt{2}\right)}\right)\right) \]
      14. sqrt-lowering-sqrt.f6473.2%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 2.4 \cdot 10^{-79}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\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)}\\ \mathbf{elif}\;\ell \leq 8.2 \cdot 10^{+187}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right)\right) \cdot \left(2 \cdot n\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{\left(n \cdot U\right) \cdot \left(-2 + U* \cdot \frac{n}{Om}\right)}{Om}} \cdot \left(\ell \cdot \sqrt{2}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 62.2% accurate, 1.7× speedup?

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

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

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

\mathbf{else}:\\
\;\;\;\;l\_m \cdot \sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om \cdot Om} + \frac{-2}{Om}\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if l < 1.11999999999999996e-79

    1. Initial program 53.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. Simplified60.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

    if 1.11999999999999996e-79 < l < 6.7999999999999999e187

    1. Initial program 54.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. Simplified65.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. 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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr71.4%

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

    if 6.7999999999999999e187 < l

    1. Initial program 32.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. Simplified60.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 l around inf

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \mathsf{\_.f64}\left(U*, U\right)\right), \mathsf{*.f64}\left(Om, Om\right)\right), \left(\mathsf{neg}\left(\frac{2 \cdot 1}{Om}\right)\right)\right)\right)\right)\right) \]
      17. metadata-evalN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \mathsf{\_.f64}\left(U*, U\right)\right), \mathsf{*.f64}\left(Om, Om\right)\right), \left(\mathsf{neg}\left(\frac{2}{Om}\right)\right)\right)\right)\right)\right) \]
      18. distribute-neg-fracN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, n\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \mathsf{\_.f64}\left(U*, U\right)\right), \mathsf{*.f64}\left(Om, Om\right)\right), \left(\frac{\mathsf{neg}\left(2\right)}{Om}\right)\right)\right)\right)\right) \]
    7. Simplified64.5%

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 1.12 \cdot 10^{-79}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\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)}\\ \mathbf{elif}\;\ell \leq 6.8 \cdot 10^{+187}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right)\right) \cdot \left(2 \cdot n\right)}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om \cdot Om} + \frac{-2}{Om}\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 61.3% accurate, 1.7× speedup?

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

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

\mathbf{elif}\;l\_m \leq 2.05 \cdot 10^{+213}:\\
\;\;\;\;\sqrt{t\_1 \cdot \left(t + \frac{l\_m}{Om} \cdot \left(l\_m \cdot \left(-2 + U* \cdot \frac{n}{Om}\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot l\_m\right) \cdot \left(\left(2 \cdot n\right) \cdot \frac{l\_m \cdot \left(-2 + n \cdot \frac{U* - U}{Om}\right)}{Om}\right)}\\


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

    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.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 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), \color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\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), \left(U* \cdot \frac{\ell \cdot n}{Om}\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(U*, \left(\frac{\ell \cdot n}{Om}\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(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right)\right)\right)\right)\right) \]
      4. *-lowering-*.f6457.2%

        \[\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(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, n\right), Om\right)\right)\right)\right)\right)\right) \]
    7. Simplified57.2%

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

    if 1e-79 < l < 2.0499999999999999e213

    1. Initial program 48.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. Simplified64.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. Taylor expanded in n around 0

      \[\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), \color{blue}{\left(-2 \cdot \ell + \frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)}\right)\right)\right)\right) \]
    6. 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), \left(\frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + -2 \cdot \ell\right)\right)\right)\right)\right) \]
      2. 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), \left(\ell \cdot \frac{n \cdot \left(U* - U\right)}{Om} + -2 \cdot \ell\right)\right)\right)\right)\right) \]
      3. *-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), \left(\ell \cdot \frac{n \cdot \left(U* - U\right)}{Om} + \ell \cdot -2\right)\right)\right)\right)\right) \]
      4. 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, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \left(\ell \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om} + -2\right)\right)\right)\right)\right)\right) \]
      5. metadata-evalN/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), \left(\ell \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om} + \left(\mathsf{neg}\left(2\right)\right)\right)\right)\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), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \left(\ell \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om} - 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(\ell, \left(\frac{n \cdot \left(U* - U\right)}{Om} - 2\right)\right)\right)\right)\right)\right) \]
      8. sub-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(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(\ell, \left(\frac{n \cdot \left(U* - U\right)}{Om} + \left(\mathsf{neg}\left(2\right)\right)\right)\right)\right)\right)\right)\right) \]
      9. metadata-evalN/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(\ell, \left(\frac{n \cdot \left(U* - U\right)}{Om} + -2\right)\right)\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{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(\ell, \mathsf{+.f64}\left(\left(\frac{n \cdot \left(U* - U\right)}{Om}\right), -2\right)\right)\right)\right)\right)\right) \]
      11. 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(\ell, \mathsf{+.f64}\left(\left(n \cdot \frac{U* - U}{Om}\right), -2\right)\right)\right)\right)\right)\right) \]
      12. *-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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(n, \left(\frac{U* - U}{Om}\right)\right), -2\right)\right)\right)\right)\right)\right) \]
      13. /-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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(n, \mathsf{/.f64}\left(\left(U* - U\right), Om\right)\right), -2\right)\right)\right)\right)\right)\right) \]
      14. --lowering--.f6464.1%

        \[\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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(n, \mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), Om\right)\right), -2\right)\right)\right)\right)\right)\right) \]
    7. Simplified64.1%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \color{blue}{\left(\ell \cdot \left(n \cdot \frac{U* - U}{Om} + -2\right)\right)}\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(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(\ell, \mathsf{+.f64}\left(\color{blue}{\left(\frac{U* \cdot n}{Om}\right)}, -2\right)\right)\right)\right)\right)\right) \]
    9. 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(\ell, \mathsf{+.f64}\left(\left(U* \cdot \frac{n}{Om}\right), -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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{n}{Om}\right)\right), -2\right)\right)\right)\right)\right)\right) \]
      3. /-lowering-/.f6463.8%

        \[\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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(n, Om\right)\right), -2\right)\right)\right)\right)\right)\right) \]
    10. Simplified63.8%

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

    if 2.0499999999999999e213 < l

    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. Simplified66.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(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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr73.1%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, \ell\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \left(U* - U\right)\right)\right), Om\right)\right)\right), Om\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
      10. --lowering--.f6472.6%

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

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

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

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

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

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

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

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

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

Alternative 6: 61.0% accurate, 1.7× speedup?

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

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

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot l\_m\right) \cdot \left(\left(2 \cdot n\right) \cdot \frac{l\_m \cdot \left(-2 + n \cdot \frac{U* - U}{Om}\right)}{Om}\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if l < 3.99999999999999994e213

    1. Initial program 52.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. Simplified61.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

    if 3.99999999999999994e213 < l

    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. Simplified66.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(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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr73.1%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, \ell\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(-2, \ell\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{*.f64}\left(n, \left(U* - U\right)\right)\right), Om\right)\right)\right), Om\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
      10. --lowering--.f6472.6%

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \leq 4 \cdot 10^{+213}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\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)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(U \cdot \ell\right) \cdot \left(\left(2 \cdot n\right) \cdot \frac{\ell \cdot \left(-2 + n \cdot \frac{U* - U}{Om}\right)}{Om}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 56.2% accurate, 1.8× speedup?

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

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

\mathbf{elif}\;n \leq 3 \cdot 10^{-130}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(t + \frac{l\_m \cdot -2}{\frac{Om}{l\_m}}\right)\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if n < -7.49999999999999965e-111 or 2.99999999999999986e-130 < n

    1. Initial program 58.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. Simplified71.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. 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), \color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\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), \left(U* \cdot \frac{\ell \cdot n}{Om}\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(U*, \left(\frac{\ell \cdot n}{Om}\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(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right)\right)\right)\right)\right) \]
      4. *-lowering-*.f6468.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{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, n\right), Om\right)\right)\right)\right)\right)\right) \]
    7. Simplified68.7%

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

    if -7.49999999999999965e-111 < n < 2.99999999999999986e-130

    1. Initial program 38.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. Simplified41.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. 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-rr54.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(n \cdot 2\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(n, 2\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6451.2%

        \[\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(n, 2\right)\right), U\right)\right) \]
    9. Simplified51.2%

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

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

Alternative 8: 61.5% accurate, 1.8× speedup?

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

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

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{\left(2 \cdot n\right) \cdot \left(l\_m \cdot \left(-2 + \frac{n}{\frac{Om}{U* - U}}\right)\right)}{\frac{Om}{U \cdot l\_m}}}\\


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

    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. 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.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. Taylor expanded in U around 0

      \[\leadsto \mathsf{sqrt.f64}\left(\color{blue}{\left(2 \cdot \left(U \cdot \left(n \cdot \left(t + \frac{\ell \cdot \left(-2 \cdot \ell + \frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}{Om}\right)\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 \left(t + \frac{\ell \cdot \left(-2 \cdot \ell + \frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}{Om}\right)\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 \left(t + \frac{\ell \cdot \left(-2 \cdot \ell + \frac{U* \cdot \left(\ell \cdot n\right)}{Om}\right)}{Om}\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

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

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

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

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

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

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

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

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

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

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

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

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

    if 1.0999999999999999e152 < l

    1. Initial program 25.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. Simplified62.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr62.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 U\right) \cdot \left(n \cdot 2\right)}} \]
    7. Taylor expanded in t around 0

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \sqrt{\color{blue}{\frac{\left(U \cdot \ell\right) \cdot \left(-2 \cdot \ell + \frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)}{Om}} \cdot \left(n \cdot 2\right)} \]
    10. Applied egg-rr56.4%

      \[\leadsto \color{blue}{{\left(\left(\frac{U \cdot \ell}{Om} \cdot \left(\left(n \cdot 2\right) \cdot \left(\ell \cdot \left(-2 + n \cdot \frac{U* - U}{Om}\right)\right)\right)\right) \cdot \left(\frac{U \cdot \ell}{Om} \cdot \left(\left(n \cdot 2\right) \cdot \left(\ell \cdot \left(-2 + n \cdot \frac{U* - U}{Om}\right)\right)\right)\right)\right)}^{0.25}} \]
    11. Step-by-step derivation
      1. pow2N/A

        \[\leadsto {\left({\left(\frac{U \cdot \ell}{Om} \cdot \left(\left(n \cdot 2\right) \cdot \left(\ell \cdot \left(-2 + n \cdot \frac{U* - U}{Om}\right)\right)\right)\right)}^{2}\right)}^{\frac{1}{4}} \]
      2. pow-powN/A

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

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

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

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

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

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

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

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

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

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

Alternative 9: 50.0% accurate, 1.8× speedup?

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

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

\mathbf{elif}\;Om \leq 3.1 \cdot 10^{-163}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(U \cdot \frac{l\_m \cdot l\_m}{Om}\right) \cdot \frac{n \cdot U*}{Om}\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if Om < -2.7e-157

    1. Initial program 53.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. Simplified62.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. 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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr63.6%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot U\right) \cdot \left(n \cdot 2\right)}} \]
    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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6455.0%

        \[\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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    9. Simplified55.0%

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

    if -2.7e-157 < Om < 3.09999999999999975e-163

    1. Initial program 31.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. Simplified52.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. 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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr56.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 U\right) \cdot \left(n \cdot 2\right)}} \]
    7. Taylor expanded in Om around 0

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), Om\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \left(U* - U\right)\right), Om\right)\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
      12. --lowering--.f6448.1%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), Om\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, \mathsf{\_.f64}\left(U*, U\right)\right), Om\right)\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    9. Simplified48.1%

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

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

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

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), Om\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(n, U*\right), Om\right)\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    12. Simplified48.2%

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

    if 3.09999999999999975e-163 < Om

    1. Initial program 60.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. Simplified64.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-rr67.4%

      \[\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(n \cdot 2\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(n, 2\right)\right), U\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6461.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(n, 2\right)\right), U\right)\right) \]
    9. Simplified61.6%

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

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

Alternative 10: 47.7% accurate, 1.8× speedup?

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

\\
\begin{array}{l}
\mathbf{if}\;l\_m \leq 1.85 \cdot 10^{-79}:\\
\;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{l\_m}{Om} \cdot \left(l\_m \cdot -2\right)\right)}\\

\mathbf{elif}\;l\_m \leq 4.6 \cdot 10^{+259}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{l\_m \cdot -2}{\frac{Om}{l\_m}}\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \frac{U* \cdot \left(n \cdot \left(l\_m \cdot l\_m\right)\right)}{Om \cdot Om}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if l < 1.85000000000000009e-79

    1. Initial program 53.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. Simplified60.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. Taylor expanded in n around 0

      \[\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), \color{blue}{\left(-2 \cdot \ell\right)}\right)\right)\right)\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f6451.0%

        \[\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(-2, \ell\right)\right)\right)\right)\right) \]
    7. Simplified51.0%

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

    if 1.85000000000000009e-79 < l < 4.6000000000000002e259

    1. Initial program 51.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. Simplified63.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr68.6%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot U\right) \cdot \left(n \cdot 2\right)}} \]
    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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6456.1%

        \[\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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    9. Simplified56.1%

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

    if 4.6000000000000002e259 < l

    1. Initial program 16.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. Add Preprocessing
    3. Taylor expanded in U* around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \color{blue}{\left(\frac{U* \cdot \left({\ell}^{2} \cdot n\right)}{{Om}^{2}}\right)}\right)\right) \]
    4. Step-by-step derivation
      1. /-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(\left(U* \cdot \left({\ell}^{2} \cdot n\right)\right), \left({Om}^{2}\right)\right)\right)\right) \]
      2. *-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(\mathsf{*.f64}\left(U*, \left({\ell}^{2} \cdot n\right)\right), \left({Om}^{2}\right)\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \left(n \cdot {\ell}^{2}\right)\right), \left({Om}^{2}\right)\right)\right)\right) \]
      4. *-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(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(n, \left({\ell}^{2}\right)\right)\right), \left({Om}^{2}\right)\right)\right)\right) \]
      5. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(n, \left(\ell \cdot \ell\right)\right)\right), \left({Om}^{2}\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(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), \left({Om}^{2}\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(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), \left(Om \cdot Om\right)\right)\right)\right) \]
      8. *-lowering-*.f6466.7%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(n, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), \mathsf{*.f64}\left(Om, Om\right)\right)\right)\right) \]
    5. Simplified66.7%

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

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

Alternative 11: 47.7% accurate, 1.8× speedup?

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

\\
\begin{array}{l}
\mathbf{if}\;l\_m \leq 3.5 \cdot 10^{-79}:\\
\;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{l\_m}{Om} \cdot \left(l\_m \cdot -2\right)\right)}\\

\mathbf{elif}\;l\_m \leq 1.18 \cdot 10^{+260}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{l\_m \cdot -2}{\frac{Om}{l\_m}}\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \frac{\left(\left(l\_m \cdot l\_m\right) \cdot U*\right) \cdot \left(n \cdot n\right)}{Om \cdot Om}\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if l < 3.5000000000000003e-79

    1. Initial program 53.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. Simplified60.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. Taylor expanded in n around 0

      \[\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), \color{blue}{\left(-2 \cdot \ell\right)}\right)\right)\right)\right) \]
    6. Step-by-step derivation
      1. *-lowering-*.f6451.0%

        \[\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(-2, \ell\right)\right)\right)\right)\right) \]
    7. Simplified51.0%

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

    if 3.5000000000000003e-79 < l < 1.17999999999999994e260

    1. Initial program 51.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. Simplified63.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
      4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
      5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
    6. Applied egg-rr68.6%

      \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot U\right) \cdot \left(n \cdot 2\right)}} \]
    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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    8. Step-by-step derivation
      1. *-lowering-*.f6456.1%

        \[\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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
    9. Simplified56.1%

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

    if 1.17999999999999994e260 < l

    1. Initial program 16.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. Simplified68.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(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-rr68.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(n \cdot 2\right)\right) \cdot U}} \]
    7. Taylor expanded in U* around inf

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

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

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

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

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \left({\ell}^{2}\right)\right), \left({n}^{2}\right)\right), \left({Om}^{2}\right)\right)\right), U\right)\right) \]
      6. unpow2N/A

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, \ell\right)\right), \left({n}^{2}\right)\right), \left({Om}^{2}\right)\right)\right), U\right)\right) \]
      8. unpow2N/A

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

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(n, n\right)\right), \left({Om}^{2}\right)\right)\right), U\right)\right) \]
      10. unpow2N/A

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(n, n\right)\right), \left(Om \cdot Om\right)\right)\right), U\right)\right) \]
      11. *-lowering-*.f6467.2%

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(n, n\right)\right), \mathsf{*.f64}\left(Om, Om\right)\right)\right), U\right)\right) \]
    9. Simplified67.2%

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

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

Alternative 12: 59.2% accurate, 1.8× speedup?

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

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

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


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

    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.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 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), \color{blue}{\left(\frac{U* \cdot \left(\ell \cdot n\right)}{Om}\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), \left(U* \cdot \frac{\ell \cdot n}{Om}\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(U*, \left(\frac{\ell \cdot n}{Om}\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(U*, \mathsf{/.f64}\left(\left(\ell \cdot n\right), Om\right)\right)\right)\right)\right)\right) \]
      4. *-lowering-*.f6457.2%

        \[\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(U*, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, n\right), Om\right)\right)\right)\right)\right)\right) \]
    7. Simplified57.2%

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

    if 1e-79 < l

    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. Simplified64.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. Taylor expanded in n around 0

      \[\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), \color{blue}{\left(-2 \cdot \ell + \frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om}\right)}\right)\right)\right)\right) \]
    6. 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), \left(\frac{\ell \cdot \left(n \cdot \left(U* - U\right)\right)}{Om} + -2 \cdot \ell\right)\right)\right)\right)\right) \]
      2. 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), \left(\ell \cdot \frac{n \cdot \left(U* - U\right)}{Om} + -2 \cdot \ell\right)\right)\right)\right)\right) \]
      3. *-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), \left(\ell \cdot \frac{n \cdot \left(U* - U\right)}{Om} + \ell \cdot -2\right)\right)\right)\right)\right) \]
      4. 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, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \left(\ell \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om} + -2\right)\right)\right)\right)\right)\right) \]
      5. metadata-evalN/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), \left(\ell \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om} + \left(\mathsf{neg}\left(2\right)\right)\right)\right)\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), \mathsf{+.f64}\left(t, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, Om\right), \left(\ell \cdot \left(\frac{n \cdot \left(U* - U\right)}{Om} - 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(\ell, \left(\frac{n \cdot \left(U* - U\right)}{Om} - 2\right)\right)\right)\right)\right)\right) \]
      8. sub-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(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(\ell, \left(\frac{n \cdot \left(U* - U\right)}{Om} + \left(\mathsf{neg}\left(2\right)\right)\right)\right)\right)\right)\right)\right) \]
      9. metadata-evalN/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(\ell, \left(\frac{n \cdot \left(U* - U\right)}{Om} + -2\right)\right)\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{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(\ell, \mathsf{+.f64}\left(\left(\frac{n \cdot \left(U* - U\right)}{Om}\right), -2\right)\right)\right)\right)\right)\right) \]
      11. 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(\ell, \mathsf{+.f64}\left(\left(n \cdot \frac{U* - U}{Om}\right), -2\right)\right)\right)\right)\right)\right) \]
      12. *-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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(n, \left(\frac{U* - U}{Om}\right)\right), -2\right)\right)\right)\right)\right)\right) \]
      13. /-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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(n, \mathsf{/.f64}\left(\left(U* - U\right), Om\right)\right), -2\right)\right)\right)\right)\right)\right) \]
      14. --lowering--.f6464.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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(n, \mathsf{/.f64}\left(\mathsf{\_.f64}\left(U*, U\right), Om\right)\right), -2\right)\right)\right)\right)\right)\right) \]
    7. Simplified64.5%

      \[\leadsto \sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{\ell}{Om} \cdot \color{blue}{\left(\ell \cdot \left(n \cdot \frac{U* - U}{Om} + -2\right)\right)}\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(\mathsf{/.f64}\left(\ell, Om\right), \mathsf{*.f64}\left(\ell, \mathsf{+.f64}\left(\color{blue}{\left(\frac{U* \cdot n}{Om}\right)}, -2\right)\right)\right)\right)\right)\right) \]
    9. 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(\ell, \mathsf{+.f64}\left(\left(U* \cdot \frac{n}{Om}\right), -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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \left(\frac{n}{Om}\right)\right), -2\right)\right)\right)\right)\right)\right) \]
      3. /-lowering-/.f6464.2%

        \[\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(\ell, \mathsf{+.f64}\left(\mathsf{*.f64}\left(U*, \mathsf{/.f64}\left(n, Om\right)\right), -2\right)\right)\right)\right)\right)\right) \]
    10. Simplified64.2%

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

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

Alternative 13: 46.2% accurate, 1.9× speedup?

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if n < -5.9999999999999999e130

    1. Initial program 48.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. Add Preprocessing
    3. Taylor expanded in t around inf

      \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \color{blue}{t}\right)\right) \]
    4. Step-by-step derivation
      1. Simplified52.4%

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

      if -5.9999999999999999e130 < n

      1. Initial program 52.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. 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. 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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
        4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
        5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
      6. Applied egg-rr64.0%

        \[\leadsto \sqrt{\color{blue}{\left(\left(t + \frac{\frac{U* - U}{\frac{Om}{n \cdot \ell}} + \ell \cdot -2}{\frac{Om}{\ell}}\right) \cdot U\right) \cdot \left(n \cdot 2\right)}} \]
      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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
      8. Step-by-step derivation
        1. *-lowering-*.f6453.4%

          \[\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), U\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
      9. Simplified53.4%

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

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

    Alternative 14: 47.0% accurate, 1.9× speedup?

    \[\begin{array}{l} l_m = \left|\ell\right| \\ \begin{array}{l} \mathbf{if}\;t \leq 4.8 \cdot 10^{+243}:\\ \;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{l\_m}{Om} \cdot \left(l\_m \cdot -2\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \end{array} \end{array} \]
    l_m = (fabs.f64 l)
    (FPCore (n U t l_m Om U*)
     :precision binary64
     (if (<= t 4.8e+243)
       (sqrt (* (* 2.0 (* n U)) (+ t (* (/ l_m Om) (* l_m -2.0)))))
       (pow (* 2.0 (* U (* n t))) 0.5)))
    l_m = fabs(l);
    double code(double n, double U, double t, double l_m, double Om, double U_42_) {
    	double tmp;
    	if (t <= 4.8e+243) {
    		tmp = sqrt(((2.0 * (n * U)) * (t + ((l_m / Om) * (l_m * -2.0)))));
    	} else {
    		tmp = pow((2.0 * (U * (n * t))), 0.5);
    	}
    	return tmp;
    }
    
    l_m = abs(l)
    real(8) function code(n, u, t, l_m, om, u_42)
        real(8), intent (in) :: n
        real(8), intent (in) :: u
        real(8), intent (in) :: t
        real(8), intent (in) :: l_m
        real(8), intent (in) :: om
        real(8), intent (in) :: u_42
        real(8) :: tmp
        if (t <= 4.8d+243) then
            tmp = sqrt(((2.0d0 * (n * u)) * (t + ((l_m / om) * (l_m * (-2.0d0))))))
        else
            tmp = (2.0d0 * (u * (n * t))) ** 0.5d0
        end if
        code = tmp
    end function
    
    l_m = Math.abs(l);
    public static double code(double n, double U, double t, double l_m, double Om, double U_42_) {
    	double tmp;
    	if (t <= 4.8e+243) {
    		tmp = Math.sqrt(((2.0 * (n * U)) * (t + ((l_m / Om) * (l_m * -2.0)))));
    	} else {
    		tmp = Math.pow((2.0 * (U * (n * t))), 0.5);
    	}
    	return tmp;
    }
    
    l_m = math.fabs(l)
    def code(n, U, t, l_m, Om, U_42_):
    	tmp = 0
    	if t <= 4.8e+243:
    		tmp = math.sqrt(((2.0 * (n * U)) * (t + ((l_m / Om) * (l_m * -2.0)))))
    	else:
    		tmp = math.pow((2.0 * (U * (n * t))), 0.5)
    	return tmp
    
    l_m = abs(l)
    function code(n, U, t, l_m, Om, U_42_)
    	tmp = 0.0
    	if (t <= 4.8e+243)
    		tmp = sqrt(Float64(Float64(2.0 * Float64(n * U)) * Float64(t + Float64(Float64(l_m / Om) * Float64(l_m * -2.0)))));
    	else
    		tmp = Float64(2.0 * Float64(U * Float64(n * t))) ^ 0.5;
    	end
    	return tmp
    end
    
    l_m = abs(l);
    function tmp_2 = code(n, U, t, l_m, Om, U_42_)
    	tmp = 0.0;
    	if (t <= 4.8e+243)
    		tmp = sqrt(((2.0 * (n * U)) * (t + ((l_m / Om) * (l_m * -2.0)))));
    	else
    		tmp = (2.0 * (U * (n * t))) ^ 0.5;
    	end
    	tmp_2 = tmp;
    end
    
    l_m = N[Abs[l], $MachinePrecision]
    code[n_, U_, t_, l$95$m_, Om_, U$42$_] := If[LessEqual[t, 4.8e+243], N[Sqrt[N[(N[(2.0 * N[(n * U), $MachinePrecision]), $MachinePrecision] * N[(t + N[(N[(l$95$m / Om), $MachinePrecision] * N[(l$95$m * -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[Power[N[(2.0 * N[(U * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision]]
    
    \begin{array}{l}
    l_m = \left|\ell\right|
    
    \\
    \begin{array}{l}
    \mathbf{if}\;t \leq 4.8 \cdot 10^{+243}:\\
    \;\;\;\;\sqrt{\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(t + \frac{l\_m}{Om} \cdot \left(l\_m \cdot -2\right)\right)}\\
    
    \mathbf{else}:\\
    \;\;\;\;{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if t < 4.8000000000000001e243

      1. Initial program 51.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. Simplified60.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 n around 0

        \[\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), \color{blue}{\left(-2 \cdot \ell\right)}\right)\right)\right)\right) \]
      6. Step-by-step derivation
        1. *-lowering-*.f6449.0%

          \[\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(-2, \ell\right)\right)\right)\right)\right) \]
      7. Simplified49.0%

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

      if 4.8000000000000001e243 < t

      1. Initial program 54.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. Simplified69.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. *-lowering-*.f64N/A

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

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

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

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

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

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

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

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

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

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

    Alternative 15: 40.8% accurate, 1.9× speedup?

    \[\begin{array}{l} l_m = \left|\ell\right| \\ \begin{array}{l} \mathbf{if}\;l\_m \leq 5.8 \cdot 10^{+130}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \frac{\left(l\_m \cdot -2\right) \cdot \left(U \cdot l\_m\right)}{Om}}\\ \end{array} \end{array} \]
    l_m = (fabs.f64 l)
    (FPCore (n U t l_m Om U*)
     :precision binary64
     (if (<= l_m 5.8e+130)
       (sqrt (* (* U (* 2.0 n)) t))
       (sqrt (* (* 2.0 n) (/ (* (* l_m -2.0) (* U l_m)) Om)))))
    l_m = fabs(l);
    double code(double n, double U, double t, double l_m, double Om, double U_42_) {
    	double tmp;
    	if (l_m <= 5.8e+130) {
    		tmp = sqrt(((U * (2.0 * n)) * t));
    	} else {
    		tmp = sqrt(((2.0 * n) * (((l_m * -2.0) * (U * l_m)) / Om)));
    	}
    	return tmp;
    }
    
    l_m = abs(l)
    real(8) function code(n, u, t, l_m, om, u_42)
        real(8), intent (in) :: n
        real(8), intent (in) :: u
        real(8), intent (in) :: t
        real(8), intent (in) :: l_m
        real(8), intent (in) :: om
        real(8), intent (in) :: u_42
        real(8) :: tmp
        if (l_m <= 5.8d+130) then
            tmp = sqrt(((u * (2.0d0 * n)) * t))
        else
            tmp = sqrt(((2.0d0 * n) * (((l_m * (-2.0d0)) * (u * l_m)) / om)))
        end if
        code = tmp
    end function
    
    l_m = Math.abs(l);
    public static double code(double n, double U, double t, double l_m, double Om, double U_42_) {
    	double tmp;
    	if (l_m <= 5.8e+130) {
    		tmp = Math.sqrt(((U * (2.0 * n)) * t));
    	} else {
    		tmp = Math.sqrt(((2.0 * n) * (((l_m * -2.0) * (U * l_m)) / Om)));
    	}
    	return tmp;
    }
    
    l_m = math.fabs(l)
    def code(n, U, t, l_m, Om, U_42_):
    	tmp = 0
    	if l_m <= 5.8e+130:
    		tmp = math.sqrt(((U * (2.0 * n)) * t))
    	else:
    		tmp = math.sqrt(((2.0 * n) * (((l_m * -2.0) * (U * l_m)) / Om)))
    	return tmp
    
    l_m = abs(l)
    function code(n, U, t, l_m, Om, U_42_)
    	tmp = 0.0
    	if (l_m <= 5.8e+130)
    		tmp = sqrt(Float64(Float64(U * Float64(2.0 * n)) * t));
    	else
    		tmp = sqrt(Float64(Float64(2.0 * n) * Float64(Float64(Float64(l_m * -2.0) * Float64(U * l_m)) / Om)));
    	end
    	return tmp
    end
    
    l_m = abs(l);
    function tmp_2 = code(n, U, t, l_m, Om, U_42_)
    	tmp = 0.0;
    	if (l_m <= 5.8e+130)
    		tmp = sqrt(((U * (2.0 * n)) * t));
    	else
    		tmp = sqrt(((2.0 * n) * (((l_m * -2.0) * (U * l_m)) / Om)));
    	end
    	tmp_2 = tmp;
    end
    
    l_m = N[Abs[l], $MachinePrecision]
    code[n_, U_, t_, l$95$m_, Om_, U$42$_] := If[LessEqual[l$95$m, 5.8e+130], N[Sqrt[N[(N[(U * N[(2.0 * n), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]], $MachinePrecision], N[Sqrt[N[(N[(2.0 * n), $MachinePrecision] * N[(N[(N[(l$95$m * -2.0), $MachinePrecision] * N[(U * l$95$m), $MachinePrecision]), $MachinePrecision] / Om), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]
    
    \begin{array}{l}
    l_m = \left|\ell\right|
    
    \\
    \begin{array}{l}
    \mathbf{if}\;l\_m \leq 5.8 \cdot 10^{+130}:\\
    \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t}\\
    
    \mathbf{else}:\\
    \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \frac{\left(l\_m \cdot -2\right) \cdot \left(U \cdot l\_m\right)}{Om}}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if l < 5.7999999999999998e130

      1. Initial program 55.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. Add Preprocessing
      3. Taylor expanded in t around inf

        \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \color{blue}{t}\right)\right) \]
      4. Step-by-step derivation
        1. Simplified46.0%

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

        if 5.7999999999999998e130 < l

        1. Initial program 30.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. Simplified60.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
          4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
          5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
        6. Applied egg-rr66.6%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \sqrt{\frac{\left(U \cdot \ell\right) \cdot \color{blue}{\left(\ell \cdot -2\right)}}{Om} \cdot \left(n \cdot 2\right)} \]
      5. Recombined 2 regimes into one program.
      6. Final simplification45.2%

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

      Alternative 16: 37.0% accurate, 2.0× speedup?

      \[\begin{array}{l} l_m = \left|\ell\right| \\ \begin{array}{l} \mathbf{if}\;t \leq 5.2 \cdot 10^{+29}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t}\\ \mathbf{else}:\\ \;\;\;\;{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \end{array} \end{array} \]
      l_m = (fabs.f64 l)
      (FPCore (n U t l_m Om U*)
       :precision binary64
       (if (<= t 5.2e+29)
         (sqrt (* (* U (* 2.0 n)) t))
         (pow (* 2.0 (* U (* n t))) 0.5)))
      l_m = fabs(l);
      double code(double n, double U, double t, double l_m, double Om, double U_42_) {
      	double tmp;
      	if (t <= 5.2e+29) {
      		tmp = sqrt(((U * (2.0 * n)) * t));
      	} else {
      		tmp = pow((2.0 * (U * (n * t))), 0.5);
      	}
      	return tmp;
      }
      
      l_m = abs(l)
      real(8) function code(n, u, t, l_m, om, u_42)
          real(8), intent (in) :: n
          real(8), intent (in) :: u
          real(8), intent (in) :: t
          real(8), intent (in) :: l_m
          real(8), intent (in) :: om
          real(8), intent (in) :: u_42
          real(8) :: tmp
          if (t <= 5.2d+29) then
              tmp = sqrt(((u * (2.0d0 * n)) * t))
          else
              tmp = (2.0d0 * (u * (n * t))) ** 0.5d0
          end if
          code = tmp
      end function
      
      l_m = Math.abs(l);
      public static double code(double n, double U, double t, double l_m, double Om, double U_42_) {
      	double tmp;
      	if (t <= 5.2e+29) {
      		tmp = Math.sqrt(((U * (2.0 * n)) * t));
      	} else {
      		tmp = Math.pow((2.0 * (U * (n * t))), 0.5);
      	}
      	return tmp;
      }
      
      l_m = math.fabs(l)
      def code(n, U, t, l_m, Om, U_42_):
      	tmp = 0
      	if t <= 5.2e+29:
      		tmp = math.sqrt(((U * (2.0 * n)) * t))
      	else:
      		tmp = math.pow((2.0 * (U * (n * t))), 0.5)
      	return tmp
      
      l_m = abs(l)
      function code(n, U, t, l_m, Om, U_42_)
      	tmp = 0.0
      	if (t <= 5.2e+29)
      		tmp = sqrt(Float64(Float64(U * Float64(2.0 * n)) * t));
      	else
      		tmp = Float64(2.0 * Float64(U * Float64(n * t))) ^ 0.5;
      	end
      	return tmp
      end
      
      l_m = abs(l);
      function tmp_2 = code(n, U, t, l_m, Om, U_42_)
      	tmp = 0.0;
      	if (t <= 5.2e+29)
      		tmp = sqrt(((U * (2.0 * n)) * t));
      	else
      		tmp = (2.0 * (U * (n * t))) ^ 0.5;
      	end
      	tmp_2 = tmp;
      end
      
      l_m = N[Abs[l], $MachinePrecision]
      code[n_, U_, t_, l$95$m_, Om_, U$42$_] := If[LessEqual[t, 5.2e+29], N[Sqrt[N[(N[(U * N[(2.0 * n), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]], $MachinePrecision], N[Power[N[(2.0 * N[(U * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.5], $MachinePrecision]]
      
      \begin{array}{l}
      l_m = \left|\ell\right|
      
      \\
      \begin{array}{l}
      \mathbf{if}\;t \leq 5.2 \cdot 10^{+29}:\\
      \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t}\\
      
      \mathbf{else}:\\
      \;\;\;\;{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if t < 5.2e29

        1. Initial program 49.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. Add Preprocessing
        3. Taylor expanded in t around inf

          \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \color{blue}{t}\right)\right) \]
        4. Step-by-step derivation
          1. Simplified40.0%

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

          if 5.2e29 < t

          1. Initial program 57.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. Simplified65.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 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. *-lowering-*.f64N/A

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

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

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

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

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

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

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

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

            \[\leadsto \color{blue}{{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}^{0.5}} \]
        5. Recombined 2 regimes into one program.
        6. Final simplification45.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 5.2 \cdot 10^{+29}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t}\\ \mathbf{else}:\\ \;\;\;\;{\left(2 \cdot \left(U \cdot \left(n \cdot t\right)\right)\right)}^{0.5}\\ \end{array} \]
        7. Add Preprocessing

        Alternative 17: 35.6% accurate, 2.1× speedup?

        \[\begin{array}{l} l_m = \left|\ell\right| \\ \sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t} \end{array} \]
        l_m = (fabs.f64 l)
        (FPCore (n U t l_m Om U*) :precision binary64 (sqrt (* (* U (* 2.0 n)) t)))
        l_m = fabs(l);
        double code(double n, double U, double t, double l_m, double Om, double U_42_) {
        	return sqrt(((U * (2.0 * n)) * t));
        }
        
        l_m = abs(l)
        real(8) function code(n, u, t, l_m, om, u_42)
            real(8), intent (in) :: n
            real(8), intent (in) :: u
            real(8), intent (in) :: t
            real(8), intent (in) :: l_m
            real(8), intent (in) :: om
            real(8), intent (in) :: u_42
            code = sqrt(((u * (2.0d0 * n)) * t))
        end function
        
        l_m = Math.abs(l);
        public static double code(double n, double U, double t, double l_m, double Om, double U_42_) {
        	return Math.sqrt(((U * (2.0 * n)) * t));
        }
        
        l_m = math.fabs(l)
        def code(n, U, t, l_m, Om, U_42_):
        	return math.sqrt(((U * (2.0 * n)) * t))
        
        l_m = abs(l)
        function code(n, U, t, l_m, Om, U_42_)
        	return sqrt(Float64(Float64(U * Float64(2.0 * n)) * t))
        end
        
        l_m = abs(l);
        function tmp = code(n, U, t, l_m, Om, U_42_)
        	tmp = sqrt(((U * (2.0 * n)) * t));
        end
        
        l_m = N[Abs[l], $MachinePrecision]
        code[n_, U_, t_, l$95$m_, Om_, U$42$_] := N[Sqrt[N[(N[(U * N[(2.0 * n), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]], $MachinePrecision]
        
        \begin{array}{l}
        l_m = \left|\ell\right|
        
        \\
        \sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t}
        \end{array}
        
        Derivation
        1. Initial program 52.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. Add Preprocessing
        3. Taylor expanded in t around inf

          \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(2, n\right), U\right), \color{blue}{t}\right)\right) \]
        4. Step-by-step derivation
          1. Simplified43.3%

            \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{t}} \]
          2. Final simplification43.3%

            \[\leadsto \sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot t} \]
          3. Add Preprocessing

          Alternative 18: 35.5% accurate, 2.1× speedup?

          \[\begin{array}{l} l_m = \left|\ell\right| \\ \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot t\right)} \end{array} \]
          l_m = (fabs.f64 l)
          (FPCore (n U t l_m Om U*) :precision binary64 (sqrt (* (* 2.0 n) (* U t))))
          l_m = fabs(l);
          double code(double n, double U, double t, double l_m, double Om, double U_42_) {
          	return sqrt(((2.0 * n) * (U * t)));
          }
          
          l_m = abs(l)
          real(8) function code(n, u, t, l_m, om, u_42)
              real(8), intent (in) :: n
              real(8), intent (in) :: u
              real(8), intent (in) :: t
              real(8), intent (in) :: l_m
              real(8), intent (in) :: om
              real(8), intent (in) :: u_42
              code = sqrt(((2.0d0 * n) * (u * t)))
          end function
          
          l_m = Math.abs(l);
          public static double code(double n, double U, double t, double l_m, double Om, double U_42_) {
          	return Math.sqrt(((2.0 * n) * (U * t)));
          }
          
          l_m = math.fabs(l)
          def code(n, U, t, l_m, Om, U_42_):
          	return math.sqrt(((2.0 * n) * (U * t)))
          
          l_m = abs(l)
          function code(n, U, t, l_m, Om, U_42_)
          	return sqrt(Float64(Float64(2.0 * n) * Float64(U * t)))
          end
          
          l_m = abs(l);
          function tmp = code(n, U, t, l_m, Om, U_42_)
          	tmp = sqrt(((2.0 * n) * (U * t)));
          end
          
          l_m = N[Abs[l], $MachinePrecision]
          code[n_, U_, t_, l$95$m_, Om_, U$42$_] := N[Sqrt[N[(N[(2.0 * n), $MachinePrecision] * N[(U * t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
          
          \begin{array}{l}
          l_m = \left|\ell\right|
          
          \\
          \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot t\right)}
          \end{array}
          
          Derivation
          1. Initial program 52.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. Simplified61.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. *-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(U \cdot \left(2 \cdot n\right)\right)\right)\right) \]
            4. 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 U\right) \cdot \left(2 \cdot n\right)\right)\right) \]
            5. *-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 U\right), \left(2 \cdot n\right)\right)\right) \]
          6. Applied egg-rr62.4%

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

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

              \[\leadsto \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(U, t\right), \mathsf{*.f64}\left(n, 2\right)\right)\right) \]
          9. Simplified42.0%

            \[\leadsto \sqrt{\color{blue}{\left(U \cdot t\right)} \cdot \left(n \cdot 2\right)} \]
          10. Final simplification42.0%

            \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot t\right)} \]
          11. Add Preprocessing

          Alternative 19: 35.9% accurate, 2.1× speedup?

          \[\begin{array}{l} l_m = \left|\ell\right| \\ \sqrt{2 \cdot \left(U \cdot \left(n \cdot t\right)\right)} \end{array} \]
          l_m = (fabs.f64 l)
          (FPCore (n U t l_m Om U*) :precision binary64 (sqrt (* 2.0 (* U (* n t)))))
          l_m = fabs(l);
          double code(double n, double U, double t, double l_m, double Om, double U_42_) {
          	return sqrt((2.0 * (U * (n * t))));
          }
          
          l_m = abs(l)
          real(8) function code(n, u, t, l_m, om, u_42)
              real(8), intent (in) :: n
              real(8), intent (in) :: u
              real(8), intent (in) :: t
              real(8), intent (in) :: l_m
              real(8), intent (in) :: om
              real(8), intent (in) :: u_42
              code = sqrt((2.0d0 * (u * (n * t))))
          end function
          
          l_m = Math.abs(l);
          public static double code(double n, double U, double t, double l_m, double Om, double U_42_) {
          	return Math.sqrt((2.0 * (U * (n * t))));
          }
          
          l_m = math.fabs(l)
          def code(n, U, t, l_m, Om, U_42_):
          	return math.sqrt((2.0 * (U * (n * t))))
          
          l_m = abs(l)
          function code(n, U, t, l_m, Om, U_42_)
          	return sqrt(Float64(2.0 * Float64(U * Float64(n * t))))
          end
          
          l_m = abs(l);
          function tmp = code(n, U, t, l_m, Om, U_42_)
          	tmp = sqrt((2.0 * (U * (n * t))));
          end
          
          l_m = N[Abs[l], $MachinePrecision]
          code[n_, U_, t_, l$95$m_, Om_, U$42$_] := N[Sqrt[N[(2.0 * N[(U * N[(n * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
          
          \begin{array}{l}
          l_m = \left|\ell\right|
          
          \\
          \sqrt{2 \cdot \left(U \cdot \left(n \cdot t\right)\right)}
          \end{array}
          
          Derivation
          1. Initial program 52.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. Simplified61.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. *-lowering-*.f64N/A

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

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

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

          Reproduce

          ?
          herbie shell --seed 2024161 
          (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*))))))