| Alternative 1 | |
|---|---|
| Error | 53.2 |
| Cost | 14348 |
(FPCore (c0 w h D d M)
:precision binary64
(*
(/ c0 (* 2.0 w))
(+
(/ (* c0 (* d d)) (* (* w h) (* D D)))
(sqrt
(-
(*
(/ (* c0 (* d d)) (* (* w h) (* D D)))
(/ (* c0 (* d d)) (* (* w h) (* D D))))
(* M M))))))(FPCore (c0 w h D d M)
:precision binary64
(let* ((t_0 (* d (* (/ d D) (/ (/ (/ c0 w) D) h))))
(t_1 (* d (/ d (/ (* h (* D D)) (/ c0 w)))))
(t_2 (* (/ d D) (* d (/ (/ c0 w) (* D h))))))
(if (<= D -2.1e-190)
(/ c0 (/ 2.0 (/ (/ (+ t_0 (sqrt (* (+ t_0 M) (- t_0 M)))) 1.0) w)))
(if (<= D 2.1e-108)
(* (/ (pow (* d c0) 2.0) (pow (* w D) 2.0)) (/ 1.0 h))
(if (<= D 2.35e+48)
(*
2.0
(* (/ (pow d 2.0) (pow D 2.0)) (* (/ (/ c0 w) h) (/ c0 (+ w w)))))
(if (<= D 7.5e+157)
(/
(+
t_1
(sqrt (- (* t_1 (* d (/ d (* (* h (/ w c0)) (* D D))))) (* M M))))
(* w (/ 2.0 c0)))
(/ c0 (/ 2.0 (/ (+ t_2 (sqrt (- (* t_2 t_2) (* M M)))) w)))))))))double code(double c0, double w, double h, double D, double d, double M) {
return (c0 / (2.0 * w)) * (((c0 * (d * d)) / ((w * h) * (D * D))) + sqrt(((((c0 * (d * d)) / ((w * h) * (D * D))) * ((c0 * (d * d)) / ((w * h) * (D * D)))) - (M * M))));
}
double code(double c0, double w, double h, double D, double d, double M) {
double t_0 = d * ((d / D) * (((c0 / w) / D) / h));
double t_1 = d * (d / ((h * (D * D)) / (c0 / w)));
double t_2 = (d / D) * (d * ((c0 / w) / (D * h)));
double tmp;
if (D <= -2.1e-190) {
tmp = c0 / (2.0 / (((t_0 + sqrt(((t_0 + M) * (t_0 - M)))) / 1.0) / w));
} else if (D <= 2.1e-108) {
tmp = (pow((d * c0), 2.0) / pow((w * D), 2.0)) * (1.0 / h);
} else if (D <= 2.35e+48) {
tmp = 2.0 * ((pow(d, 2.0) / pow(D, 2.0)) * (((c0 / w) / h) * (c0 / (w + w))));
} else if (D <= 7.5e+157) {
tmp = (t_1 + sqrt(((t_1 * (d * (d / ((h * (w / c0)) * (D * D))))) - (M * M)))) / (w * (2.0 / c0));
} else {
tmp = c0 / (2.0 / ((t_2 + sqrt(((t_2 * t_2) - (M * M)))) / w));
}
return tmp;
}
real(8) function code(c0, w, h, d, d_1, m)
real(8), intent (in) :: c0
real(8), intent (in) :: w
real(8), intent (in) :: h
real(8), intent (in) :: d
real(8), intent (in) :: d_1
real(8), intent (in) :: m
code = (c0 / (2.0d0 * w)) * (((c0 * (d_1 * d_1)) / ((w * h) * (d * d))) + sqrt(((((c0 * (d_1 * d_1)) / ((w * h) * (d * d))) * ((c0 * (d_1 * d_1)) / ((w * h) * (d * d)))) - (m * m))))
end function
real(8) function code(c0, w, h, d, d_1, m)
real(8), intent (in) :: c0
real(8), intent (in) :: w
real(8), intent (in) :: h
real(8), intent (in) :: d
real(8), intent (in) :: d_1
real(8), intent (in) :: m
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = d_1 * ((d_1 / d) * (((c0 / w) / d) / h))
t_1 = d_1 * (d_1 / ((h * (d * d)) / (c0 / w)))
t_2 = (d_1 / d) * (d_1 * ((c0 / w) / (d * h)))
if (d <= (-2.1d-190)) then
tmp = c0 / (2.0d0 / (((t_0 + sqrt(((t_0 + m) * (t_0 - m)))) / 1.0d0) / w))
else if (d <= 2.1d-108) then
tmp = (((d_1 * c0) ** 2.0d0) / ((w * d) ** 2.0d0)) * (1.0d0 / h)
else if (d <= 2.35d+48) then
tmp = 2.0d0 * (((d_1 ** 2.0d0) / (d ** 2.0d0)) * (((c0 / w) / h) * (c0 / (w + w))))
else if (d <= 7.5d+157) then
tmp = (t_1 + sqrt(((t_1 * (d_1 * (d_1 / ((h * (w / c0)) * (d * d))))) - (m * m)))) / (w * (2.0d0 / c0))
else
tmp = c0 / (2.0d0 / ((t_2 + sqrt(((t_2 * t_2) - (m * m)))) / w))
end if
code = tmp
end function
public static double code(double c0, double w, double h, double D, double d, double M) {
return (c0 / (2.0 * w)) * (((c0 * (d * d)) / ((w * h) * (D * D))) + Math.sqrt(((((c0 * (d * d)) / ((w * h) * (D * D))) * ((c0 * (d * d)) / ((w * h) * (D * D)))) - (M * M))));
}
public static double code(double c0, double w, double h, double D, double d, double M) {
double t_0 = d * ((d / D) * (((c0 / w) / D) / h));
double t_1 = d * (d / ((h * (D * D)) / (c0 / w)));
double t_2 = (d / D) * (d * ((c0 / w) / (D * h)));
double tmp;
if (D <= -2.1e-190) {
tmp = c0 / (2.0 / (((t_0 + Math.sqrt(((t_0 + M) * (t_0 - M)))) / 1.0) / w));
} else if (D <= 2.1e-108) {
tmp = (Math.pow((d * c0), 2.0) / Math.pow((w * D), 2.0)) * (1.0 / h);
} else if (D <= 2.35e+48) {
tmp = 2.0 * ((Math.pow(d, 2.0) / Math.pow(D, 2.0)) * (((c0 / w) / h) * (c0 / (w + w))));
} else if (D <= 7.5e+157) {
tmp = (t_1 + Math.sqrt(((t_1 * (d * (d / ((h * (w / c0)) * (D * D))))) - (M * M)))) / (w * (2.0 / c0));
} else {
tmp = c0 / (2.0 / ((t_2 + Math.sqrt(((t_2 * t_2) - (M * M)))) / w));
}
return tmp;
}
def code(c0, w, h, D, d, M): return (c0 / (2.0 * w)) * (((c0 * (d * d)) / ((w * h) * (D * D))) + math.sqrt(((((c0 * (d * d)) / ((w * h) * (D * D))) * ((c0 * (d * d)) / ((w * h) * (D * D)))) - (M * M))))
def code(c0, w, h, D, d, M): t_0 = d * ((d / D) * (((c0 / w) / D) / h)) t_1 = d * (d / ((h * (D * D)) / (c0 / w))) t_2 = (d / D) * (d * ((c0 / w) / (D * h))) tmp = 0 if D <= -2.1e-190: tmp = c0 / (2.0 / (((t_0 + math.sqrt(((t_0 + M) * (t_0 - M)))) / 1.0) / w)) elif D <= 2.1e-108: tmp = (math.pow((d * c0), 2.0) / math.pow((w * D), 2.0)) * (1.0 / h) elif D <= 2.35e+48: tmp = 2.0 * ((math.pow(d, 2.0) / math.pow(D, 2.0)) * (((c0 / w) / h) * (c0 / (w + w)))) elif D <= 7.5e+157: tmp = (t_1 + math.sqrt(((t_1 * (d * (d / ((h * (w / c0)) * (D * D))))) - (M * M)))) / (w * (2.0 / c0)) else: tmp = c0 / (2.0 / ((t_2 + math.sqrt(((t_2 * t_2) - (M * M)))) / w)) return tmp
function code(c0, w, h, D, d, M) return Float64(Float64(c0 / Float64(2.0 * w)) * Float64(Float64(Float64(c0 * Float64(d * d)) / Float64(Float64(w * h) * Float64(D * D))) + sqrt(Float64(Float64(Float64(Float64(c0 * Float64(d * d)) / Float64(Float64(w * h) * Float64(D * D))) * Float64(Float64(c0 * Float64(d * d)) / Float64(Float64(w * h) * Float64(D * D)))) - Float64(M * M))))) end
function code(c0, w, h, D, d, M) t_0 = Float64(d * Float64(Float64(d / D) * Float64(Float64(Float64(c0 / w) / D) / h))) t_1 = Float64(d * Float64(d / Float64(Float64(h * Float64(D * D)) / Float64(c0 / w)))) t_2 = Float64(Float64(d / D) * Float64(d * Float64(Float64(c0 / w) / Float64(D * h)))) tmp = 0.0 if (D <= -2.1e-190) tmp = Float64(c0 / Float64(2.0 / Float64(Float64(Float64(t_0 + sqrt(Float64(Float64(t_0 + M) * Float64(t_0 - M)))) / 1.0) / w))); elseif (D <= 2.1e-108) tmp = Float64(Float64((Float64(d * c0) ^ 2.0) / (Float64(w * D) ^ 2.0)) * Float64(1.0 / h)); elseif (D <= 2.35e+48) tmp = Float64(2.0 * Float64(Float64((d ^ 2.0) / (D ^ 2.0)) * Float64(Float64(Float64(c0 / w) / h) * Float64(c0 / Float64(w + w))))); elseif (D <= 7.5e+157) tmp = Float64(Float64(t_1 + sqrt(Float64(Float64(t_1 * Float64(d * Float64(d / Float64(Float64(h * Float64(w / c0)) * Float64(D * D))))) - Float64(M * M)))) / Float64(w * Float64(2.0 / c0))); else tmp = Float64(c0 / Float64(2.0 / Float64(Float64(t_2 + sqrt(Float64(Float64(t_2 * t_2) - Float64(M * M)))) / w))); end return tmp end
function tmp = code(c0, w, h, D, d, M) tmp = (c0 / (2.0 * w)) * (((c0 * (d * d)) / ((w * h) * (D * D))) + sqrt(((((c0 * (d * d)) / ((w * h) * (D * D))) * ((c0 * (d * d)) / ((w * h) * (D * D)))) - (M * M)))); end
function tmp_2 = code(c0, w, h, D, d, M) t_0 = d * ((d / D) * (((c0 / w) / D) / h)); t_1 = d * (d / ((h * (D * D)) / (c0 / w))); t_2 = (d / D) * (d * ((c0 / w) / (D * h))); tmp = 0.0; if (D <= -2.1e-190) tmp = c0 / (2.0 / (((t_0 + sqrt(((t_0 + M) * (t_0 - M)))) / 1.0) / w)); elseif (D <= 2.1e-108) tmp = (((d * c0) ^ 2.0) / ((w * D) ^ 2.0)) * (1.0 / h); elseif (D <= 2.35e+48) tmp = 2.0 * (((d ^ 2.0) / (D ^ 2.0)) * (((c0 / w) / h) * (c0 / (w + w)))); elseif (D <= 7.5e+157) tmp = (t_1 + sqrt(((t_1 * (d * (d / ((h * (w / c0)) * (D * D))))) - (M * M)))) / (w * (2.0 / c0)); else tmp = c0 / (2.0 / ((t_2 + sqrt(((t_2 * t_2) - (M * M)))) / w)); end tmp_2 = tmp; end
code[c0_, w_, h_, D_, d_, M_] := N[(N[(c0 / N[(2.0 * w), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(c0 * N[(d * d), $MachinePrecision]), $MachinePrecision] / N[(N[(w * h), $MachinePrecision] * N[(D * D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[Sqrt[N[(N[(N[(N[(c0 * N[(d * d), $MachinePrecision]), $MachinePrecision] / N[(N[(w * h), $MachinePrecision] * N[(D * D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(c0 * N[(d * d), $MachinePrecision]), $MachinePrecision] / N[(N[(w * h), $MachinePrecision] * N[(D * D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(M * M), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[c0_, w_, h_, D_, d_, M_] := Block[{t$95$0 = N[(d * N[(N[(d / D), $MachinePrecision] * N[(N[(N[(c0 / w), $MachinePrecision] / D), $MachinePrecision] / h), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(d * N[(d / N[(N[(h * N[(D * D), $MachinePrecision]), $MachinePrecision] / N[(c0 / w), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(d / D), $MachinePrecision] * N[(d * N[(N[(c0 / w), $MachinePrecision] / N[(D * h), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[D, -2.1e-190], N[(c0 / N[(2.0 / N[(N[(N[(t$95$0 + N[Sqrt[N[(N[(t$95$0 + M), $MachinePrecision] * N[(t$95$0 - M), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / 1.0), $MachinePrecision] / w), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[D, 2.1e-108], N[(N[(N[Power[N[(d * c0), $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[(w * D), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 / h), $MachinePrecision]), $MachinePrecision], If[LessEqual[D, 2.35e+48], N[(2.0 * N[(N[(N[Power[d, 2.0], $MachinePrecision] / N[Power[D, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(c0 / w), $MachinePrecision] / h), $MachinePrecision] * N[(c0 / N[(w + w), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[D, 7.5e+157], N[(N[(t$95$1 + N[Sqrt[N[(N[(t$95$1 * N[(d * N[(d / N[(N[(h * N[(w / c0), $MachinePrecision]), $MachinePrecision] * N[(D * D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(M * M), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(w * N[(2.0 / c0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c0 / N[(2.0 / N[(N[(t$95$2 + N[Sqrt[N[(N[(t$95$2 * t$95$2), $MachinePrecision] - N[(M * M), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / w), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\begin{array}{l}
t_0 := d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right)\\
t_1 := d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\\
t_2 := \frac{d}{D} \cdot \left(d \cdot \frac{\frac{c0}{w}}{D \cdot h}\right)\\
\mathbf{if}\;D \leq -2.1 \cdot 10^{-190}:\\
\;\;\;\;\frac{c0}{\frac{2}{\frac{\frac{t_0 + \sqrt{\left(t_0 + M\right) \cdot \left(t_0 - M\right)}}{1}}{w}}}\\
\mathbf{elif}\;D \leq 2.1 \cdot 10^{-108}:\\
\;\;\;\;\frac{{\left(d \cdot c0\right)}^{2}}{{\left(w \cdot D\right)}^{2}} \cdot \frac{1}{h}\\
\mathbf{elif}\;D \leq 2.35 \cdot 10^{+48}:\\
\;\;\;\;2 \cdot \left(\frac{{d}^{2}}{{D}^{2}} \cdot \left(\frac{\frac{c0}{w}}{h} \cdot \frac{c0}{w + w}\right)\right)\\
\mathbf{elif}\;D \leq 7.5 \cdot 10^{+157}:\\
\;\;\;\;\frac{t_1 + \sqrt{t_1 \cdot \left(d \cdot \frac{d}{\left(h \cdot \frac{w}{c0}\right) \cdot \left(D \cdot D\right)}\right) - M \cdot M}}{w \cdot \frac{2}{c0}}\\
\mathbf{else}:\\
\;\;\;\;\frac{c0}{\frac{2}{\frac{t_2 + \sqrt{t_2 \cdot t_2 - M \cdot M}}{w}}}\\
\end{array}
Results
if D < -2.09999999999999991e-190Initial program 57.3
Simplified56.8
[Start]57.3 | \[ \frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
|---|---|
rational.json-simplify-49 [=>]58.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{\left(d \cdot d\right) \cdot \frac{c0}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]58.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]58.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\left(D \cdot D\right) \cdot \color{blue}{\left(h \cdot w\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-43 [=>]58.7 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{h \cdot \left(w \cdot \left(D \cdot D\right)\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
Applied egg-rr53.4
Simplified53.5
[Start]53.4 | \[ \frac{d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}} + \sqrt{\left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) \cdot \left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) - M \cdot M}}{w \cdot \frac{2}{c0}}
\] |
|---|---|
rational.json-simplify-46 [=>]53.7 | \[ \color{blue}{\frac{\frac{d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}} + \sqrt{\left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) \cdot \left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) - M \cdot M}}{w}}{\frac{2}{c0}}}
\] |
rational.json-simplify-61 [=>]53.7 | \[ \color{blue}{\frac{c0}{\frac{2}{\frac{d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}} + \sqrt{\left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) \cdot \left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) - M \cdot M}}{w}}}}
\] |
Applied egg-rr51.5
if -2.09999999999999991e-190 < D < 2.0999999999999999e-108Initial program 63.0
Simplified63.0
[Start]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
|---|---|
rational.json-simplify-2 [=>]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\frac{\color{blue}{\left(d \cdot d\right) \cdot c0}}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-49 [=>]63.1 | \[ \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{c0 \cdot \frac{d \cdot d}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-46 [=>]63.2 | \[ \frac{c0}{2 \cdot w} \cdot \left(c0 \cdot \color{blue}{\frac{\frac{d \cdot d}{w \cdot h}}{D \cdot D}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-34 [=>]63.2 | \[ \frac{c0}{2 \cdot w} \cdot \left(c0 \cdot \frac{\frac{d \cdot d}{w \cdot h}}{D \cdot D} + \sqrt{\color{blue}{\left(M + \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}\right) \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M\right)}}\right)
\] |
Taylor expanded in c0 around inf 63.0
Simplified56.2
[Start]63.0 | \[ \frac{{d}^{2} \cdot {c0}^{2}}{{D}^{2} \cdot \left({w}^{2} \cdot h\right)}
\] |
|---|---|
exponential.json-simplify-27 [=>]62.4 | \[ \frac{\color{blue}{{\left(d \cdot c0\right)}^{2}}}{{D}^{2} \cdot \left({w}^{2} \cdot h\right)}
\] |
rational.json-simplify-2 [=>]62.4 | \[ \frac{{\left(d \cdot c0\right)}^{2}}{{D}^{2} \cdot \color{blue}{\left(h \cdot {w}^{2}\right)}}
\] |
rational.json-simplify-43 [=>]62.4 | \[ \frac{{\left(d \cdot c0\right)}^{2}}{\color{blue}{h \cdot \left({w}^{2} \cdot {D}^{2}\right)}}
\] |
exponential.json-simplify-27 [=>]56.2 | \[ \frac{{\left(d \cdot c0\right)}^{2}}{h \cdot \color{blue}{{\left(w \cdot D\right)}^{2}}}
\] |
Applied egg-rr55.3
if 2.0999999999999999e-108 < D < 2.35000000000000006e48Initial program 55.3
Simplified55.1
[Start]55.3 | \[ \frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
|---|---|
rational.json-simplify-49 [=>]56.2 | \[ \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{\left(d \cdot d\right) \cdot \frac{c0}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]56.2 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]56.2 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\left(D \cdot D\right) \cdot \color{blue}{\left(h \cdot w\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-43 [=>]57.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{h \cdot \left(w \cdot \left(D \cdot D\right)\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
Applied egg-rr52.7
Taylor expanded in d around inf 55.5
Simplified55.9
[Start]55.5 | \[ \frac{2 \cdot \frac{{d}^{2} \cdot c0}{{D}^{2} \cdot \left(w \cdot h\right)}}{w \cdot \frac{2}{c0}}
\] |
|---|---|
rational.json-simplify-46 [=>]55.9 | \[ \frac{2 \cdot \color{blue}{\frac{\frac{{d}^{2} \cdot c0}{{D}^{2}}}{w \cdot h}}}{w \cdot \frac{2}{c0}}
\] |
Applied egg-rr54.3
Simplified55.6
[Start]54.3 | \[ \frac{{d}^{2} \cdot \frac{c0}{w \cdot h}}{{D}^{2} \cdot \frac{w + w}{c0}} + \frac{{d}^{2} \cdot \frac{c0}{w \cdot h}}{{D}^{2} \cdot \frac{w + w}{c0}}
\] |
|---|---|
rational.json-simplify-49 [=>]54.7 | \[ \color{blue}{\frac{c0}{w \cdot h} \cdot \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}}} + \frac{{d}^{2} \cdot \frac{c0}{w \cdot h}}{{D}^{2} \cdot \frac{w + w}{c0}}
\] |
rational.json-simplify-2 [=>]54.7 | \[ \color{blue}{\frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \frac{c0}{w \cdot h}} + \frac{{d}^{2} \cdot \frac{c0}{w \cdot h}}{{D}^{2} \cdot \frac{w + w}{c0}}
\] |
rational.json-simplify-49 [=>]54.5 | \[ \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \frac{c0}{w \cdot h} + \color{blue}{\frac{c0}{w \cdot h} \cdot \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}}}
\] |
rational.json-simplify-51 [=>]54.5 | \[ \color{blue}{\frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \left(\frac{c0}{w \cdot h} + \frac{c0}{w \cdot h}\right)}
\] |
rational.json-simplify-7 [<=]54.5 | \[ \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \left(\frac{c0}{w \cdot h} + \color{blue}{\frac{\frac{c0}{w \cdot h}}{1}}\right)
\] |
rational.json-simplify-30 [<=]54.5 | \[ \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \color{blue}{\left(\left(1 + 1\right) \cdot \frac{\frac{c0}{w \cdot h}}{1}\right)}
\] |
metadata-eval [=>]54.5 | \[ \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \left(\color{blue}{2} \cdot \frac{\frac{c0}{w \cdot h}}{1}\right)
\] |
rational.json-simplify-7 [=>]54.5 | \[ \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot \left(2 \cdot \color{blue}{\frac{c0}{w \cdot h}}\right)
\] |
rational.json-simplify-43 [<=]54.5 | \[ \color{blue}{\frac{c0}{w \cdot h} \cdot \left(\frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}} \cdot 2\right)}
\] |
rational.json-simplify-43 [<=]54.5 | \[ \color{blue}{2 \cdot \left(\frac{c0}{w \cdot h} \cdot \frac{{d}^{2}}{{D}^{2} \cdot \frac{w + w}{c0}}\right)}
\] |
rational.json-simplify-49 [<=]54.3 | \[ 2 \cdot \color{blue}{\frac{{d}^{2} \cdot \frac{c0}{w \cdot h}}{{D}^{2} \cdot \frac{w + w}{c0}}}
\] |
if 2.35000000000000006e48 < D < 7.5e157Initial program 56.7
Simplified55.9
[Start]56.7 | \[ \frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
|---|---|
rational.json-simplify-49 [=>]57.5 | \[ \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{\left(d \cdot d\right) \cdot \frac{c0}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]57.5 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]57.5 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\left(D \cdot D\right) \cdot \color{blue}{\left(h \cdot w\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-43 [=>]58.5 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{h \cdot \left(w \cdot \left(D \cdot D\right)\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
Applied egg-rr50.5
Applied egg-rr52.4
if 7.5e157 < D Initial program 63.0
Simplified61.4
[Start]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
|---|---|
rational.json-simplify-49 [=>]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{\left(d \cdot d\right) \cdot \frac{c0}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-2 [=>]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\left(D \cdot D\right) \cdot \color{blue}{\left(h \cdot w\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
rational.json-simplify-43 [=>]63.0 | \[ \frac{c0}{2 \cdot w} \cdot \left(\left(d \cdot d\right) \cdot \frac{c0}{\color{blue}{h \cdot \left(w \cdot \left(D \cdot D\right)\right)}} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\] |
Applied egg-rr52.3
Simplified49.5
[Start]52.3 | \[ \frac{d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}} + \sqrt{\left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) \cdot \left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) - M \cdot M}}{w \cdot \frac{2}{c0}}
\] |
|---|---|
rational.json-simplify-46 [=>]52.3 | \[ \color{blue}{\frac{\frac{d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}} + \sqrt{\left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) \cdot \left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) - M \cdot M}}{w}}{\frac{2}{c0}}}
\] |
rational.json-simplify-61 [=>]52.3 | \[ \color{blue}{\frac{c0}{\frac{2}{\frac{d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}} + \sqrt{\left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) \cdot \left(d \cdot \frac{d}{\frac{h \cdot \left(D \cdot D\right)}{\frac{c0}{w}}}\right) - M \cdot M}}{w}}}}
\] |
Applied egg-rr46.6
Simplified45.9
[Start]46.6 | \[ \frac{c0}{\frac{2}{\frac{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}\right) - 0}{w}}}
\] |
|---|---|
rational.json-simplify-5 [=>]46.6 | \[ \frac{c0}{\frac{2}{\frac{\color{blue}{d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}}{w}}}
\] |
rational.json-simplify-6 [<=]46.6 | \[ \frac{c0}{\frac{2}{\frac{d \cdot \color{blue}{\left(1 \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right)\right)} + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-43 [=>]46.6 | \[ \frac{c0}{\frac{2}{\frac{d \cdot \color{blue}{\left(\frac{d}{D} \cdot \left(\frac{\frac{\frac{c0}{w}}{D}}{h} \cdot 1\right)\right)} + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-43 [=>]47.7 | \[ \frac{c0}{\frac{2}{\frac{\color{blue}{\frac{d}{D} \cdot \left(\left(\frac{\frac{\frac{c0}{w}}{D}}{h} \cdot 1\right) \cdot d\right)} + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-2 [=>]47.7 | \[ \frac{c0}{\frac{2}{\frac{\frac{d}{D} \cdot \color{blue}{\left(d \cdot \left(\frac{\frac{\frac{c0}{w}}{D}}{h} \cdot 1\right)\right)} + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-2 [=>]47.7 | \[ \frac{c0}{\frac{2}{\frac{\frac{d}{D} \cdot \left(d \cdot \color{blue}{\left(1 \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right)}\right) + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-6 [=>]47.7 | \[ \frac{c0}{\frac{2}{\frac{\frac{d}{D} \cdot \left(d \cdot \color{blue}{\frac{\frac{\frac{c0}{w}}{D}}{h}}\right) + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-47 [=>]52.1 | \[ \frac{c0}{\frac{2}{\frac{\frac{d}{D} \cdot \left(d \cdot \color{blue}{\frac{\frac{c0}{w}}{D \cdot h}}\right) + \sqrt{\left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) + M\right) \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
rational.json-simplify-1 [=>]52.1 | \[ \frac{c0}{\frac{2}{\frac{\frac{d}{D} \cdot \left(d \cdot \frac{\frac{c0}{w}}{D \cdot h}\right) + \sqrt{\color{blue}{\left(M + d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right)\right)} \cdot \left(d \cdot \left(\frac{d}{D} \cdot \frac{\frac{\frac{c0}{w}}{D}}{h}\right) - M\right)}}{w}}}
\] |
Final simplification53.3
| Alternative 1 | |
|---|---|
| Error | 53.2 |
| Cost | 14348 |
| Alternative 2 | |
|---|---|
| Error | 52.8 |
| Cost | 14284 |
| Alternative 3 | |
|---|---|
| Error | 52.7 |
| Cost | 14028 |
| Alternative 4 | |
|---|---|
| Error | 52.8 |
| Cost | 14028 |
| Alternative 5 | |
|---|---|
| Error | 53.0 |
| Cost | 13900 |
| Alternative 6 | |
|---|---|
| Error | 52.6 |
| Cost | 13900 |
| Alternative 7 | |
|---|---|
| Error | 52.9 |
| Cost | 13900 |
| Alternative 8 | |
|---|---|
| Error | 54.4 |
| Cost | 10964 |
| Alternative 9 | |
|---|---|
| Error | 54.0 |
| Cost | 10964 |
| Alternative 10 | |
|---|---|
| Error | 53.6 |
| Cost | 10964 |
| Alternative 11 | |
|---|---|
| Error | 55.5 |
| Cost | 10184 |
| Alternative 12 | |
|---|---|
| Error | 53.7 |
| Cost | 10184 |
| Alternative 13 | |
|---|---|
| Error | 54.5 |
| Cost | 10184 |
| Alternative 14 | |
|---|---|
| Error | 53.8 |
| Cost | 10184 |
| Alternative 15 | |
|---|---|
| Error | 57.9 |
| Cost | 9924 |
| Alternative 16 | |
|---|---|
| Error | 57.8 |
| Cost | 9664 |
| Alternative 17 | |
|---|---|
| Error | 64.0 |
| Cost | 6976 |
herbie shell --seed 2023075
(FPCore (c0 w h D d M)
:name "Henrywood and Agarwal, Equation (13)"
:precision binary64
(* (/ c0 (* 2.0 w)) (+ (/ (* c0 (* d d)) (* (* w h) (* D D))) (sqrt (- (* (/ (* c0 (* d d)) (* (* w h) (* D D))) (/ (* c0 (* d d)) (* (* w h) (* D D)))) (* M M))))))