Henrywood and Agarwal, Equation (9a)

Percentage Accurate: 81.1% → 86.6%
Time: 14.4s
Alternatives: 12
Speedup: 1.0×

Specification

?
\[\begin{array}{l} \\ w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))
double code(double w0, double M, double D, double h, double l, double d) {
	return w0 * sqrt((1.0 - (pow(((M * D) / (2.0 * d)), 2.0) * (h / l))));
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    code = w0 * sqrt((1.0d0 - ((((m * d) / (2.0d0 * d_1)) ** 2.0d0) * (h / l))))
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	return w0 * Math.sqrt((1.0 - (Math.pow(((M * D) / (2.0 * d)), 2.0) * (h / l))));
}
def code(w0, M, D, h, l, d):
	return w0 * math.sqrt((1.0 - (math.pow(((M * D) / (2.0 * d)), 2.0) * (h / l))))
function code(w0, M, D, h, l, d)
	return Float64(w0 * sqrt(Float64(1.0 - Float64((Float64(Float64(M * D) / Float64(2.0 * d)) ^ 2.0) * Float64(h / l)))))
end
function tmp = code(w0, M, D, h, l, d)
	tmp = w0 * sqrt((1.0 - ((((M * D) / (2.0 * d)) ^ 2.0) * (h / l))));
end
code[w0_, M_, D_, h_, l_, d_] := N[(w0 * N[Sqrt[N[(1.0 - N[(N[Power[N[(N[(M * D), $MachinePrecision] / N[(2.0 * d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(h / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 12 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 81.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))
double code(double w0, double M, double D, double h, double l, double d) {
	return w0 * sqrt((1.0 - (pow(((M * D) / (2.0 * d)), 2.0) * (h / l))));
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    code = w0 * sqrt((1.0d0 - ((((m * d) / (2.0d0 * d_1)) ** 2.0d0) * (h / l))))
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	return w0 * Math.sqrt((1.0 - (Math.pow(((M * D) / (2.0 * d)), 2.0) * (h / l))));
}
def code(w0, M, D, h, l, d):
	return w0 * math.sqrt((1.0 - (math.pow(((M * D) / (2.0 * d)), 2.0) * (h / l))))
function code(w0, M, D, h, l, d)
	return Float64(w0 * sqrt(Float64(1.0 - Float64((Float64(Float64(M * D) / Float64(2.0 * d)) ^ 2.0) * Float64(h / l)))))
end
function tmp = code(w0, M, D, h, l, d)
	tmp = w0 * sqrt((1.0 - ((((M * D) / (2.0 * d)) ^ 2.0) * (h / l))));
end
code[w0_, M_, D_, h_, l_, d_] := N[(w0 * N[Sqrt[N[(1.0 - N[(N[Power[N[(N[(M * D), $MachinePrecision] / N[(2.0 * d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(h / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\end{array}

Alternative 1: 86.6% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{h}{\ell}\\ \mathbf{if}\;t_0 \leq 5 \cdot 10^{-8}:\\ \;\;\;\;w0 \cdot \sqrt{1 - t_0}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (let* ((t_0 (* (pow (/ (* M D) (* d 2.0)) 2.0) (/ h l))))
   (if (<= t_0 5e-8) (* w0 (sqrt (- 1.0 t_0))) w0)))
double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = pow(((M * D) / (d * 2.0)), 2.0) * (h / l);
	double tmp;
	if (t_0 <= 5e-8) {
		tmp = w0 * sqrt((1.0 - t_0));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: t_0
    real(8) :: tmp
    t_0 = (((m * d) / (d_1 * 2.0d0)) ** 2.0d0) * (h / l)
    if (t_0 <= 5d-8) then
        tmp = w0 * sqrt((1.0d0 - t_0))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = Math.pow(((M * D) / (d * 2.0)), 2.0) * (h / l);
	double tmp;
	if (t_0 <= 5e-8) {
		tmp = w0 * Math.sqrt((1.0 - t_0));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	t_0 = math.pow(((M * D) / (d * 2.0)), 2.0) * (h / l)
	tmp = 0
	if t_0 <= 5e-8:
		tmp = w0 * math.sqrt((1.0 - t_0))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	t_0 = Float64((Float64(Float64(M * D) / Float64(d * 2.0)) ^ 2.0) * Float64(h / l))
	tmp = 0.0
	if (t_0 <= 5e-8)
		tmp = Float64(w0 * sqrt(Float64(1.0 - t_0)));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	t_0 = (((M * D) / (d * 2.0)) ^ 2.0) * (h / l);
	tmp = 0.0;
	if (t_0 <= 5e-8)
		tmp = w0 * sqrt((1.0 - t_0));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := Block[{t$95$0 = N[(N[Power[N[(N[(M * D), $MachinePrecision] / N[(d * 2.0), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(h / l), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$0, 5e-8], N[(w0 * N[Sqrt[N[(1.0 - t$95$0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], w0]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{h}{\ell}\\
\mathbf{if}\;t_0 \leq 5 \cdot 10^{-8}:\\
\;\;\;\;w0 \cdot \sqrt{1 - t_0}\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)) < 4.9999999999999998e-8

    1. Initial program 90.9%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]

    if 4.9999999999999998e-8 < (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

    1. Initial program 0.0%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac0.0%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified0.0%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 62.9%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification89.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;{\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{h}{\ell} \leq 5 \cdot 10^{-8}:\\ \;\;\;\;w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{h}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 2: 84.3% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -5 \cdot 10^{-295}:\\ \;\;\;\;w0 \cdot \sqrt{1 - \frac{h}{\ell} \cdot {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (if (<= (/ h l) -5e-295)
   (* w0 (sqrt (- 1.0 (* (/ h l) (pow (* (/ M 2.0) (/ D d)) 2.0)))))
   w0))
double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if ((h / l) <= -5e-295) {
		tmp = w0 * sqrt((1.0 - ((h / l) * pow(((M / 2.0) * (D / d)), 2.0))));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: tmp
    if ((h / l) <= (-5d-295)) then
        tmp = w0 * sqrt((1.0d0 - ((h / l) * (((m / 2.0d0) * (d / d_1)) ** 2.0d0))))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if ((h / l) <= -5e-295) {
		tmp = w0 * Math.sqrt((1.0 - ((h / l) * Math.pow(((M / 2.0) * (D / d)), 2.0))));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	tmp = 0
	if (h / l) <= -5e-295:
		tmp = w0 * math.sqrt((1.0 - ((h / l) * math.pow(((M / 2.0) * (D / d)), 2.0))))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	tmp = 0.0
	if (Float64(h / l) <= -5e-295)
		tmp = Float64(w0 * sqrt(Float64(1.0 - Float64(Float64(h / l) * (Float64(Float64(M / 2.0) * Float64(D / d)) ^ 2.0)))));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	tmp = 0.0;
	if ((h / l) <= -5e-295)
		tmp = w0 * sqrt((1.0 - ((h / l) * (((M / 2.0) * (D / d)) ^ 2.0))));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := If[LessEqual[N[(h / l), $MachinePrecision], -5e-295], N[(w0 * N[Sqrt[N[(1.0 - N[(N[(h / l), $MachinePrecision] * N[Power[N[(N[(M / 2.0), $MachinePrecision] * N[(D / d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], w0]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{h}{\ell} \leq -5 \cdot 10^{-295}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \frac{h}{\ell} \cdot {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2}}\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 h l) < -5.00000000000000008e-295

    1. Initial program 82.4%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac82.4%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified82.4%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]

    if -5.00000000000000008e-295 < (/.f64 h l)

    1. Initial program 87.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac87.8%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified87.8%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 94.1%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification87.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -5 \cdot 10^{-295}:\\ \;\;\;\;w0 \cdot \sqrt{1 - \frac{h}{\ell} \cdot {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 3: 86.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ w0 \cdot \sqrt{1 - \frac{{\left(M \cdot \left(D \cdot \frac{0.5}{d}\right)\right)}^{2} \cdot h}{\ell}} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (* w0 (sqrt (- 1.0 (/ (* (pow (* M (* D (/ 0.5 d))) 2.0) h) l)))))
double code(double w0, double M, double D, double h, double l, double d) {
	return w0 * sqrt((1.0 - ((pow((M * (D * (0.5 / d))), 2.0) * h) / l)));
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    code = w0 * sqrt((1.0d0 - ((((m * (d * (0.5d0 / d_1))) ** 2.0d0) * h) / l)))
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	return w0 * Math.sqrt((1.0 - ((Math.pow((M * (D * (0.5 / d))), 2.0) * h) / l)));
}
def code(w0, M, D, h, l, d):
	return w0 * math.sqrt((1.0 - ((math.pow((M * (D * (0.5 / d))), 2.0) * h) / l)))
function code(w0, M, D, h, l, d)
	return Float64(w0 * sqrt(Float64(1.0 - Float64(Float64((Float64(M * Float64(D * Float64(0.5 / d))) ^ 2.0) * h) / l))))
end
function tmp = code(w0, M, D, h, l, d)
	tmp = w0 * sqrt((1.0 - ((((M * (D * (0.5 / d))) ^ 2.0) * h) / l)));
end
code[w0_, M_, D_, h_, l_, d_] := N[(w0 * N[Sqrt[N[(1.0 - N[(N[(N[Power[N[(M * N[(D * N[(0.5 / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * h), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
w0 \cdot \sqrt{1 - \frac{{\left(M \cdot \left(D \cdot \frac{0.5}{d}\right)\right)}^{2} \cdot h}{\ell}}
\end{array}
Derivation
  1. Initial program 84.8%

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
  2. Step-by-step derivation
    1. times-frac84.8%

      \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
  3. Simplified84.8%

    \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
  4. Step-by-step derivation
    1. unpow284.8%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\left(\left(\frac{M}{2} \cdot \frac{D}{d}\right) \cdot \left(\frac{M}{2} \cdot \frac{D}{d}\right)\right)} \cdot \frac{h}{\ell}} \]
    2. unpow284.8%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2}} \cdot \frac{h}{\ell}} \]
    3. frac-times84.8%

      \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M \cdot D}{2 \cdot d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    4. associate-*r/87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot h}{\ell}}} \]
    5. frac-times87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{{\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot h}{\ell}} \]
    6. unpow287.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{\color{blue}{\left(\left(\frac{M}{2} \cdot \frac{D}{d}\right) \cdot \left(\frac{M}{2} \cdot \frac{D}{d}\right)\right)} \cdot h}{\ell}} \]
    7. unpow287.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{\color{blue}{{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2}} \cdot h}{\ell}} \]
    8. frac-times87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{{\color{blue}{\left(\frac{M \cdot D}{2 \cdot d}\right)}}^{2} \cdot h}{\ell}} \]
    9. div-inv87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{{\color{blue}{\left(\left(M \cdot D\right) \cdot \frac{1}{2 \cdot d}\right)}}^{2} \cdot h}{\ell}} \]
    10. associate-*l*87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{{\color{blue}{\left(M \cdot \left(D \cdot \frac{1}{2 \cdot d}\right)\right)}}^{2} \cdot h}{\ell}} \]
    11. associate-/r*87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{{\left(M \cdot \left(D \cdot \color{blue}{\frac{\frac{1}{2}}{d}}\right)\right)}^{2} \cdot h}{\ell}} \]
    12. metadata-eval87.3%

      \[\leadsto w0 \cdot \sqrt{1 - \frac{{\left(M \cdot \left(D \cdot \frac{\color{blue}{0.5}}{d}\right)\right)}^{2} \cdot h}{\ell}} \]
  5. Applied egg-rr87.3%

    \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\frac{{\left(M \cdot \left(D \cdot \frac{0.5}{d}\right)\right)}^{2} \cdot h}{\ell}}} \]
  6. Final simplification87.3%

    \[\leadsto w0 \cdot \sqrt{1 - \frac{{\left(M \cdot \left(D \cdot \frac{0.5}{d}\right)\right)}^{2} \cdot h}{\ell}} \]

Alternative 4: 77.4% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\ \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\frac{h}{\ell} \leq -5 \cdot 10^{-8}:\\ \;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (let* ((t_0
         (*
          w0
          (sqrt
           (- 1.0 (* 0.25 (* (* (/ D d) (/ D d)) (/ (* M (* M h)) l))))))))
   (if (<= (/ h l) -1e+138)
     t_0
     (if (<= (/ h l) -5e-8)
       (* w0 (+ 1.0 (* (/ (* D h) (* (/ l D) (pow (/ d M) 2.0))) -0.125)))
       (if (<= (/ h l) -2e-182) t_0 w0)))))
double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = w0 * sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))));
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = t_0;
	} else if ((h / l) <= -5e-8) {
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * pow((d / M), 2.0))) * -0.125));
	} else if ((h / l) <= -2e-182) {
		tmp = t_0;
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: t_0
    real(8) :: tmp
    t_0 = w0 * sqrt((1.0d0 - (0.25d0 * (((d / d_1) * (d / d_1)) * ((m * (m * h)) / l)))))
    if ((h / l) <= (-1d+138)) then
        tmp = t_0
    else if ((h / l) <= (-5d-8)) then
        tmp = w0 * (1.0d0 + (((d * h) / ((l / d) * ((d_1 / m) ** 2.0d0))) * (-0.125d0)))
    else if ((h / l) <= (-2d-182)) then
        tmp = t_0
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = w0 * Math.sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))));
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = t_0;
	} else if ((h / l) <= -5e-8) {
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * Math.pow((d / M), 2.0))) * -0.125));
	} else if ((h / l) <= -2e-182) {
		tmp = t_0;
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	t_0 = w0 * math.sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))))
	tmp = 0
	if (h / l) <= -1e+138:
		tmp = t_0
	elif (h / l) <= -5e-8:
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * math.pow((d / M), 2.0))) * -0.125))
	elif (h / l) <= -2e-182:
		tmp = t_0
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	t_0 = Float64(w0 * sqrt(Float64(1.0 - Float64(0.25 * Float64(Float64(Float64(D / d) * Float64(D / d)) * Float64(Float64(M * Float64(M * h)) / l))))))
	tmp = 0.0
	if (Float64(h / l) <= -1e+138)
		tmp = t_0;
	elseif (Float64(h / l) <= -5e-8)
		tmp = Float64(w0 * Float64(1.0 + Float64(Float64(Float64(D * h) / Float64(Float64(l / D) * (Float64(d / M) ^ 2.0))) * -0.125)));
	elseif (Float64(h / l) <= -2e-182)
		tmp = t_0;
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	t_0 = w0 * sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))));
	tmp = 0.0;
	if ((h / l) <= -1e+138)
		tmp = t_0;
	elseif ((h / l) <= -5e-8)
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * ((d / M) ^ 2.0))) * -0.125));
	elseif ((h / l) <= -2e-182)
		tmp = t_0;
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := Block[{t$95$0 = N[(w0 * N[Sqrt[N[(1.0 - N[(0.25 * N[(N[(N[(D / d), $MachinePrecision] * N[(D / d), $MachinePrecision]), $MachinePrecision] * N[(N[(M * N[(M * h), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(h / l), $MachinePrecision], -1e+138], t$95$0, If[LessEqual[N[(h / l), $MachinePrecision], -5e-8], N[(w0 * N[(1.0 + N[(N[(N[(D * h), $MachinePrecision] / N[(N[(l / D), $MachinePrecision] * N[Power[N[(d / M), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * -0.125), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -2e-182], t$95$0, w0]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\
\mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;\frac{h}{\ell} \leq -5 \cdot 10^{-8}:\\
\;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\

\mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 h l) < -1e138 or -4.9999999999999998e-8 < (/.f64 h l) < -2.0000000000000001e-182

    1. Initial program 83.6%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac83.6%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified83.6%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 54.1%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}}} \]
    5. Step-by-step derivation
      1. *-commutative54.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{{d}^{2} \cdot \ell}}} \]
      2. times-frac51.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)}} \]
      3. *-commutative51.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot {M}^{2}}}{\ell}\right)} \]
      4. unpow251.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      5. unpow251.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      6. times-frac69.8%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      7. unpow269.8%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      8. *-commutative69.8%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{\ell}\right)} \]
      9. unpow269.8%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right)} \]
      10. associate-*l*73.8%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{M \cdot \left(M \cdot h\right)}}{\ell}\right)} \]
    6. Simplified73.8%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}} \]
    7. Step-by-step derivation
      1. unpow265.9%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right) \cdot -0.125\right) \]
    8. Applied egg-rr73.8%

      \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)} \]

    if -1e138 < (/.f64 h l) < -4.9999999999999998e-8

    1. Initial program 84.7%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac81.5%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified81.5%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 46.0%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/46.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative46.0%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/46.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative46.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac45.9%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow245.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative45.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow245.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow245.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified45.9%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 46.0%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative46.0%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac45.9%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow245.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*49.1%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow249.1%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative49.1%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*52.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow252.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified52.3%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 52.3%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow252.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow252.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac61.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified61.8%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    13. Step-by-step derivation
      1. frac-times61.9%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot h}{\frac{\ell}{D} \cdot \left(\frac{d}{M} \cdot \frac{d}{M}\right)}} \cdot -0.125\right) \]
      2. pow261.9%

        \[\leadsto w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot \color{blue}{{\left(\frac{d}{M}\right)}^{2}}} \cdot -0.125\right) \]
    14. Applied egg-rr61.9%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}}} \cdot -0.125\right) \]

    if -2.0000000000000001e-182 < (/.f64 h l)

    1. Initial program 85.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.5%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.5%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 90.5%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification81.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\ \mathbf{elif}\;\frac{h}{\ell} \leq -5 \cdot 10^{-8}:\\ \;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\ \;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 5: 77.5% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\ \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\frac{h}{\ell} \leq -5 \cdot 10^{-24}:\\ \;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{h}{\frac{d}{M} \cdot \frac{d}{M}}\right)}\\ \mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (let* ((t_0
         (*
          w0
          (sqrt
           (- 1.0 (* 0.25 (* (* (/ D d) (/ D d)) (/ (* M (* M h)) l))))))))
   (if (<= (/ h l) -1e+138)
     t_0
     (if (<= (/ h l) -5e-24)
       (*
        w0
        (sqrt (- 1.0 (* 0.25 (* (/ (* D D) l) (/ h (* (/ d M) (/ d M))))))))
       (if (<= (/ h l) -2e-182) t_0 w0)))))
double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = w0 * sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))));
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = t_0;
	} else if ((h / l) <= -5e-24) {
		tmp = w0 * sqrt((1.0 - (0.25 * (((D * D) / l) * (h / ((d / M) * (d / M)))))));
	} else if ((h / l) <= -2e-182) {
		tmp = t_0;
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: t_0
    real(8) :: tmp
    t_0 = w0 * sqrt((1.0d0 - (0.25d0 * (((d / d_1) * (d / d_1)) * ((m * (m * h)) / l)))))
    if ((h / l) <= (-1d+138)) then
        tmp = t_0
    else if ((h / l) <= (-5d-24)) then
        tmp = w0 * sqrt((1.0d0 - (0.25d0 * (((d * d) / l) * (h / ((d_1 / m) * (d_1 / m)))))))
    else if ((h / l) <= (-2d-182)) then
        tmp = t_0
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = w0 * Math.sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))));
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = t_0;
	} else if ((h / l) <= -5e-24) {
		tmp = w0 * Math.sqrt((1.0 - (0.25 * (((D * D) / l) * (h / ((d / M) * (d / M)))))));
	} else if ((h / l) <= -2e-182) {
		tmp = t_0;
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	t_0 = w0 * math.sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))))
	tmp = 0
	if (h / l) <= -1e+138:
		tmp = t_0
	elif (h / l) <= -5e-24:
		tmp = w0 * math.sqrt((1.0 - (0.25 * (((D * D) / l) * (h / ((d / M) * (d / M)))))))
	elif (h / l) <= -2e-182:
		tmp = t_0
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	t_0 = Float64(w0 * sqrt(Float64(1.0 - Float64(0.25 * Float64(Float64(Float64(D / d) * Float64(D / d)) * Float64(Float64(M * Float64(M * h)) / l))))))
	tmp = 0.0
	if (Float64(h / l) <= -1e+138)
		tmp = t_0;
	elseif (Float64(h / l) <= -5e-24)
		tmp = Float64(w0 * sqrt(Float64(1.0 - Float64(0.25 * Float64(Float64(Float64(D * D) / l) * Float64(h / Float64(Float64(d / M) * Float64(d / M))))))));
	elseif (Float64(h / l) <= -2e-182)
		tmp = t_0;
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	t_0 = w0 * sqrt((1.0 - (0.25 * (((D / d) * (D / d)) * ((M * (M * h)) / l)))));
	tmp = 0.0;
	if ((h / l) <= -1e+138)
		tmp = t_0;
	elseif ((h / l) <= -5e-24)
		tmp = w0 * sqrt((1.0 - (0.25 * (((D * D) / l) * (h / ((d / M) * (d / M)))))));
	elseif ((h / l) <= -2e-182)
		tmp = t_0;
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := Block[{t$95$0 = N[(w0 * N[Sqrt[N[(1.0 - N[(0.25 * N[(N[(N[(D / d), $MachinePrecision] * N[(D / d), $MachinePrecision]), $MachinePrecision] * N[(N[(M * N[(M * h), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(h / l), $MachinePrecision], -1e+138], t$95$0, If[LessEqual[N[(h / l), $MachinePrecision], -5e-24], N[(w0 * N[Sqrt[N[(1.0 - N[(0.25 * N[(N[(N[(D * D), $MachinePrecision] / l), $MachinePrecision] * N[(h / N[(N[(d / M), $MachinePrecision] * N[(d / M), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -2e-182], t$95$0, w0]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\
\mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;\frac{h}{\ell} \leq -5 \cdot 10^{-24}:\\
\;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{h}{\frac{d}{M} \cdot \frac{d}{M}}\right)}\\

\mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 h l) < -1e138 or -4.9999999999999998e-24 < (/.f64 h l) < -2.0000000000000001e-182

    1. Initial program 82.7%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac82.7%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified82.7%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 51.6%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}}} \]
    5. Step-by-step derivation
      1. *-commutative51.6%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{{d}^{2} \cdot \ell}}} \]
      2. times-frac49.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)}} \]
      3. *-commutative49.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot {M}^{2}}}{\ell}\right)} \]
      4. unpow249.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      5. unpow249.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      6. times-frac69.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      7. unpow269.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot {M}^{2}}{\ell}\right)} \]
      8. *-commutative69.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{\ell}\right)} \]
      9. unpow269.1%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right)} \]
      10. associate-*l*73.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{M \cdot \left(M \cdot h\right)}}{\ell}\right)} \]
    6. Simplified73.4%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}} \]
    7. Step-by-step derivation
      1. unpow265.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right) \cdot -0.125\right) \]
    8. Applied egg-rr73.4%

      \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)} \]

    if -1e138 < (/.f64 h l) < -4.9999999999999998e-24

    1. Initial program 86.7%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac84.1%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified84.1%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 53.4%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}}} \]
    5. Step-by-step derivation
      1. associate-*r/53.4%

        \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\frac{0.25 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}} \]
      2. *-commutative53.4%

        \[\leadsto w0 \cdot \sqrt{1 - \frac{0.25 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}} \]
      3. associate-*r/53.4%

        \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}} \]
      4. times-frac53.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)}} \]
      5. unpow253.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \]
      6. *-commutative53.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right)} \]
      7. unpow253.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right)} \]
      8. unpow253.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right)} \]
    6. Simplified53.4%

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right)}} \]
    7. Taylor expanded in M around 0 53.4%

      \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \color{blue}{\frac{{M}^{2} \cdot h}{{d}^{2}}}\right)} \]
    8. Step-by-step derivation
      1. unpow253.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right)} \]
      2. *-commutative53.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right)} \]
      3. associate-/l*56.2%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right)} \]
      4. unpow256.2%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right)} \]
      5. times-frac70.4%

        \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right)} \]
    9. Simplified70.4%

      \[\leadsto w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \color{blue}{\frac{h}{\frac{d}{M} \cdot \frac{d}{M}}}\right)} \]

    if -2.0000000000000001e-182 < (/.f64 h l)

    1. Initial program 85.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.5%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.5%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 90.5%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification81.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\ \mathbf{elif}\;\frac{h}{\ell} \leq -5 \cdot 10^{-24}:\\ \;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\frac{D \cdot D}{\ell} \cdot \frac{h}{\frac{d}{M} \cdot \frac{d}{M}}\right)}\\ \mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\ \;\;\;\;w0 \cdot \sqrt{1 - 0.25 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \frac{M \cdot \left(M \cdot h\right)}{\ell}\right)}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 6: 74.9% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {\left(\frac{D}{d}\right)}^{2}\\ \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(t_0 \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-151}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(t_0 \cdot \left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (let* ((t_0 (pow (/ D d) 2.0)))
   (if (<= (/ h l) -1e+138)
     (* w0 (+ 1.0 (* -0.125 (* t_0 (* M (/ (* M h) l))))))
     (if (<= (/ h l) -1e-151)
       (* w0 (+ 1.0 (* -0.125 (* (/ h (* (/ d M) (/ d M))) (/ D (/ l D))))))
       (if (<= (/ h l) -2e-182)
         (* w0 (+ 1.0 (* -0.125 (* t_0 (* M (* M (/ h l)))))))
         w0)))))
double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = pow((D / d), 2.0);
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * ((M * h) / l)))));
	} else if ((h / l) <= -1e-151) {
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	} else if ((h / l) <= -2e-182) {
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * (M * (h / l))))));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: t_0
    real(8) :: tmp
    t_0 = (d / d_1) ** 2.0d0
    if ((h / l) <= (-1d+138)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (t_0 * (m * ((m * h) / l)))))
    else if ((h / l) <= (-1d-151)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * ((h / ((d_1 / m) * (d_1 / m))) * (d / (l / d)))))
    else if ((h / l) <= (-2d-182)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (t_0 * (m * (m * (h / l))))))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = Math.pow((D / d), 2.0);
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * ((M * h) / l)))));
	} else if ((h / l) <= -1e-151) {
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	} else if ((h / l) <= -2e-182) {
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * (M * (h / l))))));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	t_0 = math.pow((D / d), 2.0)
	tmp = 0
	if (h / l) <= -1e+138:
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * ((M * h) / l)))))
	elif (h / l) <= -1e-151:
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))))
	elif (h / l) <= -2e-182:
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * (M * (h / l))))))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	t_0 = Float64(D / d) ^ 2.0
	tmp = 0.0
	if (Float64(h / l) <= -1e+138)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(t_0 * Float64(M * Float64(Float64(M * h) / l))))));
	elseif (Float64(h / l) <= -1e-151)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(Float64(h / Float64(Float64(d / M) * Float64(d / M))) * Float64(D / Float64(l / D))))));
	elseif (Float64(h / l) <= -2e-182)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(t_0 * Float64(M * Float64(M * Float64(h / l)))))));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	t_0 = (D / d) ^ 2.0;
	tmp = 0.0;
	if ((h / l) <= -1e+138)
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * ((M * h) / l)))));
	elseif ((h / l) <= -1e-151)
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	elseif ((h / l) <= -2e-182)
		tmp = w0 * (1.0 + (-0.125 * (t_0 * (M * (M * (h / l))))));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := Block[{t$95$0 = N[Power[N[(D / d), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[N[(h / l), $MachinePrecision], -1e+138], N[(w0 * N[(1.0 + N[(-0.125 * N[(t$95$0 * N[(M * N[(N[(M * h), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -1e-151], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[(h / N[(N[(d / M), $MachinePrecision] * N[(d / M), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(D / N[(l / D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -2e-182], N[(w0 * N[(1.0 + N[(-0.125 * N[(t$95$0 * N[(M * N[(M * N[(h / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], w0]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {\left(\frac{D}{d}\right)}^{2}\\
\mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(t_0 \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\

\mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-151}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\

\mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(t_0 \cdot \left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 h l) < -1e138

    1. Initial program 76.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac76.8%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified76.8%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 54.6%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac54.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative54.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified54.8%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 54.6%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac48.7%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative48.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac61.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow261.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified59.0%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Taylor expanded in h around 0 61.0%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h \cdot {M}^{2}}{\ell}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow261.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{h \cdot \color{blue}{\left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      2. *-commutative61.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right) \cdot h}}{\ell}\right) \cdot -0.125\right) \]
      3. associate-*r/59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\left(M \cdot M\right) \cdot \frac{h}{\ell}\right)}\right) \cdot -0.125\right) \]
      4. associate-*l*61.1%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    12. Simplified61.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    13. Taylor expanded in h around 0 63.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \color{blue}{\frac{h \cdot M}{\ell}}\right)\right) \cdot -0.125\right) \]

    if -1e138 < (/.f64 h l) < -9.9999999999999994e-152

    1. Initial program 87.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.4%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.4%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 47.2%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/47.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative47.2%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/47.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative47.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac48.5%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow248.5%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative48.5%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow248.5%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow248.5%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified48.5%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 47.2%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative47.2%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac48.5%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow248.5%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*52.9%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow252.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative52.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*54.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow254.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified54.6%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 54.6%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow254.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow254.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac67.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified67.9%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]

    if -9.9999999999999994e-152 < (/.f64 h l) < -2.0000000000000001e-182

    1. Initial program 99.7%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac99.7%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified99.7%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 40.0%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/40.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative40.0%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/40.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative40.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac40.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow240.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative40.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow240.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow240.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified40.0%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 40.0%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac40.0%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow240.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative40.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow240.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow240.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac61.5%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow261.5%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*61.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/61.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified61.5%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Taylor expanded in h around 0 61.5%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h \cdot {M}^{2}}{\ell}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow261.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{h \cdot \color{blue}{\left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      2. *-commutative61.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right) \cdot h}}{\ell}\right) \cdot -0.125\right) \]
      3. associate-*r/61.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\left(M \cdot M\right) \cdot \frac{h}{\ell}\right)}\right) \cdot -0.125\right) \]
      4. associate-*l*82.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    12. Simplified82.0%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]

    if -2.0000000000000001e-182 < (/.f64 h l)

    1. Initial program 85.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.5%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.5%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 90.5%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification78.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-151}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -2 \cdot 10^{-182}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 7: 76.0% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {\left(\frac{d}{M}\right)}^{2}\\ \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -50000000000:\\ \;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot t_0} \cdot -0.125\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-180}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \frac{D \cdot \frac{h}{t_0}}{\frac{\ell}{D}}\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (let* ((t_0 (pow (/ d M) 2.0)))
   (if (<= (/ h l) -1e+138)
     (* w0 (+ 1.0 (* -0.125 (* (pow (/ D d) 2.0) (* M (/ (* M h) l))))))
     (if (<= (/ h l) -50000000000.0)
       (* w0 (+ 1.0 (* (/ (* D h) (* (/ l D) t_0)) -0.125)))
       (if (<= (/ h l) -1e-180)
         (* w0 (+ 1.0 (* -0.125 (/ (* D (/ h t_0)) (/ l D)))))
         w0)))))
double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = pow((d / M), 2.0);
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = w0 * (1.0 + (-0.125 * (pow((D / d), 2.0) * (M * ((M * h) / l)))));
	} else if ((h / l) <= -50000000000.0) {
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * t_0)) * -0.125));
	} else if ((h / l) <= -1e-180) {
		tmp = w0 * (1.0 + (-0.125 * ((D * (h / t_0)) / (l / D))));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: t_0
    real(8) :: tmp
    t_0 = (d_1 / m) ** 2.0d0
    if ((h / l) <= (-1d+138)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (((d / d_1) ** 2.0d0) * (m * ((m * h) / l)))))
    else if ((h / l) <= (-50000000000.0d0)) then
        tmp = w0 * (1.0d0 + (((d * h) / ((l / d) * t_0)) * (-0.125d0)))
    else if ((h / l) <= (-1d-180)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * ((d * (h / t_0)) / (l / d))))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double t_0 = Math.pow((d / M), 2.0);
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = w0 * (1.0 + (-0.125 * (Math.pow((D / d), 2.0) * (M * ((M * h) / l)))));
	} else if ((h / l) <= -50000000000.0) {
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * t_0)) * -0.125));
	} else if ((h / l) <= -1e-180) {
		tmp = w0 * (1.0 + (-0.125 * ((D * (h / t_0)) / (l / D))));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	t_0 = math.pow((d / M), 2.0)
	tmp = 0
	if (h / l) <= -1e+138:
		tmp = w0 * (1.0 + (-0.125 * (math.pow((D / d), 2.0) * (M * ((M * h) / l)))))
	elif (h / l) <= -50000000000.0:
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * t_0)) * -0.125))
	elif (h / l) <= -1e-180:
		tmp = w0 * (1.0 + (-0.125 * ((D * (h / t_0)) / (l / D))))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	t_0 = Float64(d / M) ^ 2.0
	tmp = 0.0
	if (Float64(h / l) <= -1e+138)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64((Float64(D / d) ^ 2.0) * Float64(M * Float64(Float64(M * h) / l))))));
	elseif (Float64(h / l) <= -50000000000.0)
		tmp = Float64(w0 * Float64(1.0 + Float64(Float64(Float64(D * h) / Float64(Float64(l / D) * t_0)) * -0.125)));
	elseif (Float64(h / l) <= -1e-180)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(Float64(D * Float64(h / t_0)) / Float64(l / D)))));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	t_0 = (d / M) ^ 2.0;
	tmp = 0.0;
	if ((h / l) <= -1e+138)
		tmp = w0 * (1.0 + (-0.125 * (((D / d) ^ 2.0) * (M * ((M * h) / l)))));
	elseif ((h / l) <= -50000000000.0)
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * t_0)) * -0.125));
	elseif ((h / l) <= -1e-180)
		tmp = w0 * (1.0 + (-0.125 * ((D * (h / t_0)) / (l / D))));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := Block[{t$95$0 = N[Power[N[(d / M), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[N[(h / l), $MachinePrecision], -1e+138], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[Power[N[(D / d), $MachinePrecision], 2.0], $MachinePrecision] * N[(M * N[(N[(M * h), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -50000000000.0], N[(w0 * N[(1.0 + N[(N[(N[(D * h), $MachinePrecision] / N[(N[(l / D), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision] * -0.125), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -1e-180], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[(D * N[(h / t$95$0), $MachinePrecision]), $MachinePrecision] / N[(l / D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], w0]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {\left(\frac{d}{M}\right)}^{2}\\
\mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\

\mathbf{elif}\;\frac{h}{\ell} \leq -50000000000:\\
\;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot t_0} \cdot -0.125\right)\\

\mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-180}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \frac{D \cdot \frac{h}{t_0}}{\frac{\ell}{D}}\right)\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 h l) < -1e138

    1. Initial program 76.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac76.8%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified76.8%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 54.6%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac54.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative54.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified54.8%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 54.6%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac48.7%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative48.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac61.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow261.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified59.0%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Taylor expanded in h around 0 61.0%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h \cdot {M}^{2}}{\ell}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow261.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{h \cdot \color{blue}{\left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      2. *-commutative61.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right) \cdot h}}{\ell}\right) \cdot -0.125\right) \]
      3. associate-*r/59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\left(M \cdot M\right) \cdot \frac{h}{\ell}\right)}\right) \cdot -0.125\right) \]
      4. associate-*l*61.1%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    12. Simplified61.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    13. Taylor expanded in h around 0 63.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \color{blue}{\frac{h \cdot M}{\ell}}\right)\right) \cdot -0.125\right) \]

    if -1e138 < (/.f64 h l) < -5e10

    1. Initial program 79.5%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac75.3%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified75.3%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 44.4%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/44.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative44.4%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/44.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative44.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac44.3%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow244.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative44.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow244.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow244.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified44.3%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 44.4%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative44.4%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac44.3%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow244.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*48.7%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative48.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*53.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow253.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified53.0%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 53.0%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow253.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow253.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac60.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified60.6%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    13. Step-by-step derivation
      1. frac-times60.7%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot h}{\frac{\ell}{D} \cdot \left(\frac{d}{M} \cdot \frac{d}{M}\right)}} \cdot -0.125\right) \]
      2. pow260.7%

        \[\leadsto w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot \color{blue}{{\left(\frac{d}{M}\right)}^{2}}} \cdot -0.125\right) \]
    14. Applied egg-rr60.7%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}}} \cdot -0.125\right) \]

    if -5e10 < (/.f64 h l) < -1e-180

    1. Initial program 92.7%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac92.7%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified92.7%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 48.6%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/48.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative48.6%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/48.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative48.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac50.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow250.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative50.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow250.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow250.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified50.6%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 48.6%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative48.6%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac50.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow250.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*54.6%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow254.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*54.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow254.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified54.9%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 54.9%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow254.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow254.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac73.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified73.8%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    13. Step-by-step derivation
      1. associate-*l/79.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot \frac{h}{\frac{d}{M} \cdot \frac{d}{M}}}{\frac{\ell}{D}}} \cdot -0.125\right) \]
      2. pow279.8%

        \[\leadsto w0 \cdot \left(1 + \frac{D \cdot \frac{h}{\color{blue}{{\left(\frac{d}{M}\right)}^{2}}}}{\frac{\ell}{D}} \cdot -0.125\right) \]
    14. Applied egg-rr79.8%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot \frac{h}{{\left(\frac{d}{M}\right)}^{2}}}{\frac{\ell}{D}}} \cdot -0.125\right) \]

    if -1e-180 < (/.f64 h l)

    1. Initial program 85.9%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.6%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.6%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 89.9%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification80.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -50000000000:\\ \;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-180}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \frac{D \cdot \frac{h}{{\left(\frac{d}{M}\right)}^{2}}}{\frac{\ell}{D}}\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 8: 75.8% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-180}:\\ \;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (if (<= (/ h l) -1e+138)
   (* w0 (+ 1.0 (* -0.125 (* (pow (/ D d) 2.0) (* M (/ (* M h) l))))))
   (if (<= (/ h l) -1e-180)
     (* w0 (+ 1.0 (* (/ (* D h) (* (/ l D) (pow (/ d M) 2.0))) -0.125)))
     w0)))
double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = w0 * (1.0 + (-0.125 * (pow((D / d), 2.0) * (M * ((M * h) / l)))));
	} else if ((h / l) <= -1e-180) {
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * pow((d / M), 2.0))) * -0.125));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: tmp
    if ((h / l) <= (-1d+138)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (((d / d_1) ** 2.0d0) * (m * ((m * h) / l)))))
    else if ((h / l) <= (-1d-180)) then
        tmp = w0 * (1.0d0 + (((d * h) / ((l / d) * ((d_1 / m) ** 2.0d0))) * (-0.125d0)))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if ((h / l) <= -1e+138) {
		tmp = w0 * (1.0 + (-0.125 * (Math.pow((D / d), 2.0) * (M * ((M * h) / l)))));
	} else if ((h / l) <= -1e-180) {
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * Math.pow((d / M), 2.0))) * -0.125));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	tmp = 0
	if (h / l) <= -1e+138:
		tmp = w0 * (1.0 + (-0.125 * (math.pow((D / d), 2.0) * (M * ((M * h) / l)))))
	elif (h / l) <= -1e-180:
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * math.pow((d / M), 2.0))) * -0.125))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	tmp = 0.0
	if (Float64(h / l) <= -1e+138)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64((Float64(D / d) ^ 2.0) * Float64(M * Float64(Float64(M * h) / l))))));
	elseif (Float64(h / l) <= -1e-180)
		tmp = Float64(w0 * Float64(1.0 + Float64(Float64(Float64(D * h) / Float64(Float64(l / D) * (Float64(d / M) ^ 2.0))) * -0.125)));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	tmp = 0.0;
	if ((h / l) <= -1e+138)
		tmp = w0 * (1.0 + (-0.125 * (((D / d) ^ 2.0) * (M * ((M * h) / l)))));
	elseif ((h / l) <= -1e-180)
		tmp = w0 * (1.0 + (((D * h) / ((l / D) * ((d / M) ^ 2.0))) * -0.125));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := If[LessEqual[N[(h / l), $MachinePrecision], -1e+138], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[Power[N[(D / d), $MachinePrecision], 2.0], $MachinePrecision] * N[(M * N[(N[(M * h), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(h / l), $MachinePrecision], -1e-180], N[(w0 * N[(1.0 + N[(N[(N[(D * h), $MachinePrecision] / N[(N[(l / D), $MachinePrecision] * N[Power[N[(d / M), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * -0.125), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], w0]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\

\mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-180}:\\
\;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 h l) < -1e138

    1. Initial program 76.8%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac76.8%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified76.8%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 54.6%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative54.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac54.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative54.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow254.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified54.8%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 54.6%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac48.7%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative48.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow248.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac61.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow261.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified59.0%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Taylor expanded in h around 0 61.0%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h \cdot {M}^{2}}{\ell}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow261.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{h \cdot \color{blue}{\left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      2. *-commutative61.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right) \cdot h}}{\ell}\right) \cdot -0.125\right) \]
      3. associate-*r/59.0%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\left(M \cdot M\right) \cdot \frac{h}{\ell}\right)}\right) \cdot -0.125\right) \]
      4. associate-*l*61.1%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    12. Simplified61.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    13. Taylor expanded in h around 0 63.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \color{blue}{\frac{h \cdot M}{\ell}}\right)\right) \cdot -0.125\right) \]

    if -1e138 < (/.f64 h l) < -1e-180

    1. Initial program 88.5%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac87.2%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified87.2%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 47.3%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/47.3%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative47.3%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/47.3%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative47.3%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac48.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow248.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative48.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow248.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow248.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified48.6%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 47.3%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative47.3%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac48.6%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow248.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*52.7%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow252.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative52.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*54.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow254.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified54.3%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 54.3%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow254.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow254.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac69.6%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified69.6%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    13. Step-by-step derivation
      1. frac-times69.7%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot h}{\frac{\ell}{D} \cdot \left(\frac{d}{M} \cdot \frac{d}{M}\right)}} \cdot -0.125\right) \]
      2. pow269.7%

        \[\leadsto w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot \color{blue}{{\left(\frac{d}{M}\right)}^{2}}} \cdot -0.125\right) \]
    14. Applied egg-rr69.7%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}}} \cdot -0.125\right) \]

    if -1e-180 < (/.f64 h l)

    1. Initial program 85.9%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.6%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.6%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 89.9%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification78.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -1 \cdot 10^{+138}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \frac{M \cdot h}{\ell}\right)\right)\right)\\ \mathbf{elif}\;\frac{h}{\ell} \leq -1 \cdot 10^{-180}:\\ \;\;\;\;w0 \cdot \left(1 + \frac{D \cdot h}{\frac{\ell}{D} \cdot {\left(\frac{d}{M}\right)}^{2}} \cdot -0.125\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 9: 73.5% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;M \leq -1.45 \cdot 10^{+113}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\ \mathbf{elif}\;M \leq -1.7 \cdot 10^{+23} \lor \neg \left(M \leq 4.05 \cdot 10^{-112}\right):\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (if (<= M -1.45e+113)
   (* w0 (+ 1.0 (* -0.125 (* (/ h (* (/ d M) (/ d M))) (/ D (/ l D))))))
   (if (or (<= M -1.7e+23) (not (<= M 4.05e-112)))
     (* w0 (+ 1.0 (* -0.125 (* (pow (/ D d) 2.0) (* M (* M (/ h l)))))))
     w0)))
double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if (M <= -1.45e+113) {
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	} else if ((M <= -1.7e+23) || !(M <= 4.05e-112)) {
		tmp = w0 * (1.0 + (-0.125 * (pow((D / d), 2.0) * (M * (M * (h / l))))));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: tmp
    if (m <= (-1.45d+113)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * ((h / ((d_1 / m) * (d_1 / m))) * (d / (l / d)))))
    else if ((m <= (-1.7d+23)) .or. (.not. (m <= 4.05d-112))) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (((d / d_1) ** 2.0d0) * (m * (m * (h / l))))))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if (M <= -1.45e+113) {
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	} else if ((M <= -1.7e+23) || !(M <= 4.05e-112)) {
		tmp = w0 * (1.0 + (-0.125 * (Math.pow((D / d), 2.0) * (M * (M * (h / l))))));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	tmp = 0
	if M <= -1.45e+113:
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))))
	elif (M <= -1.7e+23) or not (M <= 4.05e-112):
		tmp = w0 * (1.0 + (-0.125 * (math.pow((D / d), 2.0) * (M * (M * (h / l))))))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	tmp = 0.0
	if (M <= -1.45e+113)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(Float64(h / Float64(Float64(d / M) * Float64(d / M))) * Float64(D / Float64(l / D))))));
	elseif ((M <= -1.7e+23) || !(M <= 4.05e-112))
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64((Float64(D / d) ^ 2.0) * Float64(M * Float64(M * Float64(h / l)))))));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	tmp = 0.0;
	if (M <= -1.45e+113)
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	elseif ((M <= -1.7e+23) || ~((M <= 4.05e-112)))
		tmp = w0 * (1.0 + (-0.125 * (((D / d) ^ 2.0) * (M * (M * (h / l))))));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := If[LessEqual[M, -1.45e+113], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[(h / N[(N[(d / M), $MachinePrecision] * N[(d / M), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(D / N[(l / D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[M, -1.7e+23], N[Not[LessEqual[M, 4.05e-112]], $MachinePrecision]], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[Power[N[(D / d), $MachinePrecision], 2.0], $MachinePrecision] * N[(M * N[(M * N[(h / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], w0]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;M \leq -1.45 \cdot 10^{+113}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\

\mathbf{elif}\;M \leq -1.7 \cdot 10^{+23} \lor \neg \left(M \leq 4.05 \cdot 10^{-112}\right):\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if M < -1.44999999999999992e113

    1. Initial program 76.2%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac76.2%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified76.2%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 34.1%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/34.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative34.1%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/34.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative34.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac34.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative34.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified34.2%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 34.1%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative34.1%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac34.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*39.9%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow239.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative39.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*42.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow242.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified42.7%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 42.7%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow242.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow242.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac63.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified63.0%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]

    if -1.44999999999999992e113 < M < -1.69999999999999996e23 or 4.05000000000000011e-112 < M

    1. Initial program 82.4%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac83.3%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified83.3%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 45.8%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/45.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative45.8%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/45.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative45.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac48.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow248.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative48.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow248.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow248.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified48.8%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 45.8%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac47.8%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow247.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative47.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow247.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow247.8%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac58.6%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow258.6%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*59.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/61.4%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified61.4%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Taylor expanded in h around 0 58.6%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h \cdot {M}^{2}}{\ell}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow258.6%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{h \cdot \color{blue}{\left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      2. *-commutative58.6%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \frac{\color{blue}{\left(M \cdot M\right) \cdot h}}{\ell}\right) \cdot -0.125\right) \]
      3. associate-*r/61.4%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\left(M \cdot M\right) \cdot \frac{h}{\ell}\right)}\right) \cdot -0.125\right) \]
      4. associate-*l*70.1%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]
    12. Simplified70.1%

      \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)}\right) \cdot -0.125\right) \]

    if -1.69999999999999996e23 < M < 4.05000000000000011e-112

    1. Initial program 89.7%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac88.9%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified88.9%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 88.1%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification77.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;M \leq -1.45 \cdot 10^{+113}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\ \mathbf{elif}\;M \leq -1.7 \cdot 10^{+23} \lor \neg \left(M \leq 4.05 \cdot 10^{-112}\right):\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left({\left(\frac{D}{d}\right)}^{2} \cdot \left(M \cdot \left(M \cdot \frac{h}{\ell}\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 10: 71.8% accurate, 7.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;M \leq -1.75 \cdot 10^{+113}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\ \mathbf{elif}\;M \leq -2.4 \cdot 10^{+21} \lor \neg \left(M \leq 4.7 \cdot 10^{-119}\right):\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (if (<= M -1.75e+113)
   (* w0 (+ 1.0 (* -0.125 (* (/ h (* (/ d M) (/ d M))) (/ D (/ l D))))))
   (if (or (<= M -2.4e+21) (not (<= M 4.7e-119)))
     (* w0 (+ 1.0 (* -0.125 (* (* (/ D d) (/ D d)) (* (/ h l) (* M M))))))
     w0)))
double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if (M <= -1.75e+113) {
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	} else if ((M <= -2.4e+21) || !(M <= 4.7e-119)) {
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: tmp
    if (m <= (-1.75d+113)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * ((h / ((d_1 / m) * (d_1 / m))) * (d / (l / d)))))
    else if ((m <= (-2.4d+21)) .or. (.not. (m <= 4.7d-119))) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (((d / d_1) * (d / d_1)) * ((h / l) * (m * m)))))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if (M <= -1.75e+113) {
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	} else if ((M <= -2.4e+21) || !(M <= 4.7e-119)) {
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	tmp = 0
	if M <= -1.75e+113:
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))))
	elif (M <= -2.4e+21) or not (M <= 4.7e-119):
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	tmp = 0.0
	if (M <= -1.75e+113)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(Float64(h / Float64(Float64(d / M) * Float64(d / M))) * Float64(D / Float64(l / D))))));
	elseif ((M <= -2.4e+21) || !(M <= 4.7e-119))
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(Float64(Float64(D / d) * Float64(D / d)) * Float64(Float64(h / l) * Float64(M * M))))));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	tmp = 0.0;
	if (M <= -1.75e+113)
		tmp = w0 * (1.0 + (-0.125 * ((h / ((d / M) * (d / M))) * (D / (l / D)))));
	elseif ((M <= -2.4e+21) || ~((M <= 4.7e-119)))
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := If[LessEqual[M, -1.75e+113], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[(h / N[(N[(d / M), $MachinePrecision] * N[(d / M), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(D / N[(l / D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[M, -2.4e+21], N[Not[LessEqual[M, 4.7e-119]], $MachinePrecision]], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[(N[(D / d), $MachinePrecision] * N[(D / d), $MachinePrecision]), $MachinePrecision] * N[(N[(h / l), $MachinePrecision] * N[(M * M), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], w0]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;M \leq -1.75 \cdot 10^{+113}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\

\mathbf{elif}\;M \leq -2.4 \cdot 10^{+21} \lor \neg \left(M \leq 4.7 \cdot 10^{-119}\right):\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if M < -1.75e113

    1. Initial program 76.2%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac76.2%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified76.2%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 34.1%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/34.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative34.1%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/34.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative34.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac34.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative34.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified34.2%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 34.1%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. *-commutative34.1%

        \[\leadsto w0 \cdot \left(1 + \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\color{blue}{\ell \cdot {d}^{2}}} \cdot -0.125\right) \]
      2. times-frac34.2%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right)} \cdot -0.125\right) \]
      3. unpow234.2%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      4. associate-/l*39.9%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\frac{D}{\frac{\ell}{D}}} \cdot \frac{{M}^{2} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      5. unpow239.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      6. *-commutative39.9%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. associate-/l*42.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \color{blue}{\frac{h}{\frac{{d}^{2}}{M \cdot M}}}\right) \cdot -0.125\right) \]
      8. unpow242.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{M \cdot M}}\right) \cdot -0.125\right) \]
    9. Simplified42.7%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{M \cdot M}}\right)} \cdot -0.125\right) \]
    10. Taylor expanded in d around 0 42.7%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{{d}^{2}}{{M}^{2}}}}\right) \cdot -0.125\right) \]
    11. Step-by-step derivation
      1. unpow242.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{\color{blue}{d \cdot d}}{{M}^{2}}}\right) \cdot -0.125\right) \]
      2. unpow242.7%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\frac{d \cdot d}{\color{blue}{M \cdot M}}}\right) \cdot -0.125\right) \]
      3. times-frac63.0%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]
    12. Simplified63.0%

      \[\leadsto w0 \cdot \left(1 + \left(\frac{D}{\frac{\ell}{D}} \cdot \frac{h}{\color{blue}{\frac{d}{M} \cdot \frac{d}{M}}}\right) \cdot -0.125\right) \]

    if -1.75e113 < M < -2.4e21 or 4.70000000000000002e-119 < M

    1. Initial program 82.6%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac83.5%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified83.5%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 45.4%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/45.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative45.4%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/45.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative45.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac48.3%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow248.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative48.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow248.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow248.3%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified48.3%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 45.4%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac47.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow247.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative47.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow247.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow247.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac59.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow259.0%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*59.8%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/61.7%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified61.7%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Step-by-step derivation
      1. unpow261.7%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right) \cdot -0.125\right) \]
    11. Applied egg-rr61.7%

      \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right) \cdot -0.125\right) \]

    if -2.4e21 < M < 4.70000000000000002e-119

    1. Initial program 89.6%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac88.8%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified88.8%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 88.0%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification73.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;M \leq -1.75 \cdot 10^{+113}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\frac{h}{\frac{d}{M} \cdot \frac{d}{M}} \cdot \frac{D}{\frac{\ell}{D}}\right)\right)\\ \mathbf{elif}\;M \leq -2.4 \cdot 10^{+21} \lor \neg \left(M \leq 4.7 \cdot 10^{-119}\right):\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 11: 73.6% accurate, 8.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -5 \cdot 10^{-133}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \end{array} \]
(FPCore (w0 M D h l d)
 :precision binary64
 (if (<= (/ h l) -5e-133)
   (* w0 (+ 1.0 (* -0.125 (* (* (/ D d) (/ D d)) (* (/ h l) (* M M))))))
   w0))
double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if ((h / l) <= -5e-133) {
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))));
	} else {
		tmp = w0;
	}
	return tmp;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    real(8) :: tmp
    if ((h / l) <= (-5d-133)) then
        tmp = w0 * (1.0d0 + ((-0.125d0) * (((d / d_1) * (d / d_1)) * ((h / l) * (m * m)))))
    else
        tmp = w0
    end if
    code = tmp
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	double tmp;
	if ((h / l) <= -5e-133) {
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))));
	} else {
		tmp = w0;
	}
	return tmp;
}
def code(w0, M, D, h, l, d):
	tmp = 0
	if (h / l) <= -5e-133:
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))))
	else:
		tmp = w0
	return tmp
function code(w0, M, D, h, l, d)
	tmp = 0.0
	if (Float64(h / l) <= -5e-133)
		tmp = Float64(w0 * Float64(1.0 + Float64(-0.125 * Float64(Float64(Float64(D / d) * Float64(D / d)) * Float64(Float64(h / l) * Float64(M * M))))));
	else
		tmp = w0;
	end
	return tmp
end
function tmp_2 = code(w0, M, D, h, l, d)
	tmp = 0.0;
	if ((h / l) <= -5e-133)
		tmp = w0 * (1.0 + (-0.125 * (((D / d) * (D / d)) * ((h / l) * (M * M)))));
	else
		tmp = w0;
	end
	tmp_2 = tmp;
end
code[w0_, M_, D_, h_, l_, d_] := If[LessEqual[N[(h / l), $MachinePrecision], -5e-133], N[(w0 * N[(1.0 + N[(-0.125 * N[(N[(N[(D / d), $MachinePrecision] * N[(D / d), $MachinePrecision]), $MachinePrecision] * N[(N[(h / l), $MachinePrecision] * N[(M * M), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], w0]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{h}{\ell} \leq -5 \cdot 10^{-133}:\\
\;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;w0\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 h l) < -4.9999999999999999e-133

    1. Initial program 83.2%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac82.3%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified82.3%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 51.1%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + -0.125 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{\ell \cdot {d}^{2}}\right)} \]
    5. Step-by-step derivation
      1. associate-*r/51.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{-0.125 \cdot \left({D}^{2} \cdot \left({M}^{2} \cdot h\right)\right)}{\ell \cdot {d}^{2}}}\right) \]
      2. *-commutative51.1%

        \[\leadsto w0 \cdot \left(1 + \frac{-0.125 \cdot \left({D}^{2} \cdot \color{blue}{\left(h \cdot {M}^{2}\right)}\right)}{\ell \cdot {d}^{2}}\right) \]
      3. associate-*r/51.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{-0.125 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}}}\right) \]
      4. *-commutative51.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{\ell \cdot {d}^{2}} \cdot -0.125}\right) \]
      5. times-frac52.1%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right)} \cdot -0.125\right) \]
      6. unpow252.1%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{\ell} \cdot \frac{h \cdot {M}^{2}}{{d}^{2}}\right) \cdot -0.125\right) \]
      7. *-commutative52.1%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{{M}^{2} \cdot h}}{{d}^{2}}\right) \cdot -0.125\right) \]
      8. unpow252.1%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{{d}^{2}}\right) \cdot -0.125\right) \]
      9. unpow252.1%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{\color{blue}{d \cdot d}}\right) \cdot -0.125\right) \]
    6. Simplified52.1%

      \[\leadsto w0 \cdot \color{blue}{\left(1 + \left(\frac{D \cdot D}{\ell} \cdot \frac{\left(M \cdot M\right) \cdot h}{d \cdot d}\right) \cdot -0.125\right)} \]
    7. Taylor expanded in D around 0 51.1%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2} \cdot \ell}} \cdot -0.125\right) \]
    8. Step-by-step derivation
      1. times-frac49.4%

        \[\leadsto w0 \cdot \left(1 + \color{blue}{\left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{{M}^{2} \cdot h}{\ell}\right)} \cdot -0.125\right) \]
      2. unpow249.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{\left(M \cdot M\right)} \cdot h}{\ell}\right) \cdot -0.125\right) \]
      3. *-commutative49.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{{D}^{2}}{{d}^{2}} \cdot \frac{\color{blue}{h \cdot \left(M \cdot M\right)}}{\ell}\right) \cdot -0.125\right) \]
      4. unpow249.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{\color{blue}{D \cdot D}}{{d}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      5. unpow249.4%

        \[\leadsto w0 \cdot \left(1 + \left(\frac{D \cdot D}{\color{blue}{d \cdot d}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      6. times-frac63.1%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      7. unpow263.1%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{{\left(\frac{D}{d}\right)}^{2}} \cdot \frac{h \cdot \left(M \cdot M\right)}{\ell}\right) \cdot -0.125\right) \]
      8. associate-/l*60.5%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\frac{h}{\frac{\ell}{M \cdot M}}}\right) \cdot -0.125\right) \]
      9. associate-/r/62.4%

        \[\leadsto w0 \cdot \left(1 + \left({\left(\frac{D}{d}\right)}^{2} \cdot \color{blue}{\left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)}\right) \cdot -0.125\right) \]
    9. Simplified62.4%

      \[\leadsto w0 \cdot \left(1 + \color{blue}{\left({\left(\frac{D}{d}\right)}^{2} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)} \cdot -0.125\right) \]
    10. Step-by-step derivation
      1. unpow262.4%

        \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right) \cdot -0.125\right) \]
    11. Applied egg-rr62.4%

      \[\leadsto w0 \cdot \left(1 + \left(\color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right)} \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right) \cdot -0.125\right) \]

    if -4.9999999999999999e-133 < (/.f64 h l)

    1. Initial program 86.2%

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
    2. Step-by-step derivation
      1. times-frac86.8%

        \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
    3. Simplified86.8%

      \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
    4. Taylor expanded in M around 0 88.0%

      \[\leadsto \color{blue}{w0} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification76.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} \leq -5 \cdot 10^{-133}:\\ \;\;\;\;w0 \cdot \left(1 + -0.125 \cdot \left(\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\frac{h}{\ell} \cdot \left(M \cdot M\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array} \]

Alternative 12: 67.8% accurate, 216.0× speedup?

\[\begin{array}{l} \\ w0 \end{array} \]
(FPCore (w0 M D h l d) :precision binary64 w0)
double code(double w0, double M, double D, double h, double l, double d) {
	return w0;
}
real(8) function code(w0, m, d, h, l, d_1)
    real(8), intent (in) :: w0
    real(8), intent (in) :: m
    real(8), intent (in) :: d
    real(8), intent (in) :: h
    real(8), intent (in) :: l
    real(8), intent (in) :: d_1
    code = w0
end function
public static double code(double w0, double M, double D, double h, double l, double d) {
	return w0;
}
def code(w0, M, D, h, l, d):
	return w0
function code(w0, M, D, h, l, d)
	return w0
end
function tmp = code(w0, M, D, h, l, d)
	tmp = w0;
end
code[w0_, M_, D_, h_, l_, d_] := w0
\begin{array}{l}

\\
w0
\end{array}
Derivation
  1. Initial program 84.8%

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}} \]
  2. Step-by-step derivation
    1. times-frac84.8%

      \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}}^{2} \cdot \frac{h}{\ell}} \]
  3. Simplified84.8%

    \[\leadsto \color{blue}{w0 \cdot \sqrt{1 - {\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{2} \cdot \frac{h}{\ell}}} \]
  4. Taylor expanded in M around 0 68.9%

    \[\leadsto \color{blue}{w0} \]
  5. Final simplification68.9%

    \[\leadsto w0 \]

Reproduce

?
herbie shell --seed 2023195 
(FPCore (w0 M D h l d)
  :name "Henrywood and Agarwal, Equation (9a)"
  :precision binary64
  (* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))