Average Error: 59.8 → 19.4
Time: 29.1s
Precision: binary64
Cost: 1740
\[\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 := \left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\ \mathbf{if}\;D \cdot D \leq 0:\\ \;\;\;\;t_0\\ \mathbf{elif}\;D \cdot D \leq 5 \cdot 10^{-177}:\\ \;\;\;\;\frac{\frac{\left(D \cdot \left(0.25 \cdot \frac{M}{d}\right)\right) \cdot \left(D \cdot h\right)}{d}}{\frac{1}{M}}\\ \mathbf{elif}\;D \cdot D \leq 5 \cdot 10^{+202}:\\ \;\;\;\;\frac{h}{\frac{d}{M}} \cdot \left(0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
(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 (* (* M (/ (* 0.25 (* M (/ D d))) (/ d D))) h)))
   (if (<= (* D D) 0.0)
     t_0
     (if (<= (* D D) 5e-177)
       (/ (/ (* (* D (* 0.25 (/ M d))) (* D h)) d) (/ 1.0 M))
       (if (<= (* D D) 5e+202)
         (* (/ h (/ d M)) (* 0.25 (* D (* D (/ M d)))))
         t_0)))))
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 = (M * ((0.25 * (M * (D / d))) / (d / D))) * h;
	double tmp;
	if ((D * D) <= 0.0) {
		tmp = t_0;
	} else if ((D * D) <= 5e-177) {
		tmp = (((D * (0.25 * (M / d))) * (D * h)) / d) / (1.0 / M);
	} else if ((D * D) <= 5e+202) {
		tmp = (h / (d / M)) * (0.25 * (D * (D * (M / d))));
	} else {
		tmp = t_0;
	}
	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) :: tmp
    t_0 = (m * ((0.25d0 * (m * (d / d_1))) / (d_1 / d))) * h
    if ((d * d) <= 0.0d0) then
        tmp = t_0
    else if ((d * d) <= 5d-177) then
        tmp = (((d * (0.25d0 * (m / d_1))) * (d * h)) / d_1) / (1.0d0 / m)
    else if ((d * d) <= 5d+202) then
        tmp = (h / (d_1 / m)) * (0.25d0 * (d * (d * (m / d_1))))
    else
        tmp = t_0
    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 = (M * ((0.25 * (M * (D / d))) / (d / D))) * h;
	double tmp;
	if ((D * D) <= 0.0) {
		tmp = t_0;
	} else if ((D * D) <= 5e-177) {
		tmp = (((D * (0.25 * (M / d))) * (D * h)) / d) / (1.0 / M);
	} else if ((D * D) <= 5e+202) {
		tmp = (h / (d / M)) * (0.25 * (D * (D * (M / d))));
	} else {
		tmp = t_0;
	}
	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 = (M * ((0.25 * (M * (D / d))) / (d / D))) * h
	tmp = 0
	if (D * D) <= 0.0:
		tmp = t_0
	elif (D * D) <= 5e-177:
		tmp = (((D * (0.25 * (M / d))) * (D * h)) / d) / (1.0 / M)
	elif (D * D) <= 5e+202:
		tmp = (h / (d / M)) * (0.25 * (D * (D * (M / d))))
	else:
		tmp = t_0
	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(Float64(M * Float64(Float64(0.25 * Float64(M * Float64(D / d))) / Float64(d / D))) * h)
	tmp = 0.0
	if (Float64(D * D) <= 0.0)
		tmp = t_0;
	elseif (Float64(D * D) <= 5e-177)
		tmp = Float64(Float64(Float64(Float64(D * Float64(0.25 * Float64(M / d))) * Float64(D * h)) / d) / Float64(1.0 / M));
	elseif (Float64(D * D) <= 5e+202)
		tmp = Float64(Float64(h / Float64(d / M)) * Float64(0.25 * Float64(D * Float64(D * Float64(M / d)))));
	else
		tmp = t_0;
	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 = (M * ((0.25 * (M * (D / d))) / (d / D))) * h;
	tmp = 0.0;
	if ((D * D) <= 0.0)
		tmp = t_0;
	elseif ((D * D) <= 5e-177)
		tmp = (((D * (0.25 * (M / d))) * (D * h)) / d) / (1.0 / M);
	elseif ((D * D) <= 5e+202)
		tmp = (h / (d / M)) * (0.25 * (D * (D * (M / d))));
	else
		tmp = t_0;
	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[(N[(M * N[(N[(0.25 * N[(M * N[(D / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(d / D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * h), $MachinePrecision]}, If[LessEqual[N[(D * D), $MachinePrecision], 0.0], t$95$0, If[LessEqual[N[(D * D), $MachinePrecision], 5e-177], N[(N[(N[(N[(D * N[(0.25 * N[(M / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(D * h), $MachinePrecision]), $MachinePrecision] / d), $MachinePrecision] / N[(1.0 / M), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(D * D), $MachinePrecision], 5e+202], N[(N[(h / N[(d / M), $MachinePrecision]), $MachinePrecision] * N[(0.25 * N[(D * N[(D * N[(M / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$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)
\begin{array}{l}
t_0 := \left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\
\mathbf{if}\;D \cdot D \leq 0:\\
\;\;\;\;t_0\\

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

\mathbf{elif}\;D \cdot D \leq 5 \cdot 10^{+202}:\\
\;\;\;\;\frac{h}{\frac{d}{M}} \cdot \left(0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;t_0\\


\end{array}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if (*.f64 D D) < 0.0 or 4.9999999999999999e202 < (*.f64 D D)

    1. Initial program 62.9

      \[\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) \]
    2. Simplified62.7

      \[\leadsto \color{blue}{\frac{c0}{2 \cdot w} \cdot \left(\frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D} + \sqrt{\mathsf{fma}\left(\frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D}, \frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D}, -M \cdot M\right)}\right)} \]
      Proof
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 13 points increase in error, 1 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 4 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 7 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (Rewrite<= fma-neg_binary64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
    3. Taylor expanded in c0 around -inf 63.3

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\left(0.5 \cdot \frac{{D}^{2} \cdot \left(w \cdot \left({M}^{2} \cdot h\right)\right)}{{d}^{2} \cdot c0} + -1 \cdot \left(\left(\frac{{d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)} + -1 \cdot \frac{{d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)}\right) \cdot c0\right)\right)} \]
    4. Simplified62.2

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\mathsf{fma}\left(0.5, \frac{\left(w \cdot \left(h \cdot \left(M \cdot M\right)\right)\right) \cdot \left(D \cdot D\right)}{c0 \cdot \left(d \cdot d\right)}, -c0 \cdot \left(0 \cdot \frac{d \cdot d}{w \cdot \left(D \cdot \left(D \cdot h\right)\right)}\right)\right)} \]
      Proof
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (*.f64 h (*.f64 M M))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2)))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 M 2) h))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (pow.f64 M 2) h)))) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 d d) c0))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) c0)) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 1)) (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 w (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 D D) h)))))))): 4 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 w (Rewrite<= *-commutative_binary64 (*.f64 h (*.f64 D D))))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 w h) (*.f64 D D)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 w h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 w h))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (Rewrite<= distribute-rgt1-in_binary64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= fma-def_binary64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0))) (*.f64 -1 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
    5. Taylor expanded in c0 around 0 39.9

      \[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{{d}^{2}}} \]
    6. Simplified32.3

      \[\leadsto \color{blue}{\frac{h}{\frac{d}{M}} \cdot \left(\frac{D \cdot D}{\frac{d}{M}} \cdot 0.25\right)} \]
      Proof
      (*.f64 (/.f64 h (/.f64 d M)) (*.f64 (/.f64 (*.f64 D D) (/.f64 d M)) 1/4)): 0 points increase in error, 0 points decrease in error
      (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 h M) d)) (*.f64 (/.f64 (*.f64 D D) (/.f64 d M)) 1/4)): 16 points increase in error, 11 points decrease in error
      (*.f64 (/.f64 (*.f64 h M) d) (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 D D) M) d)) 1/4)): 12 points increase in error, 13 points decrease in error
      (*.f64 (/.f64 (*.f64 h M) d) (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 M (*.f64 D D))) d) 1/4)): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (/.f64 (*.f64 h M) d) (/.f64 (*.f64 M (*.f64 D D)) d)) 1/4)): 0 points increase in error, 0 points decrease in error
      (*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (*.f64 h M) (*.f64 M (*.f64 D D))) (*.f64 d d))) 1/4): 49 points increase in error, 7 points decrease in error
      (*.f64 (/.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 (*.f64 h M) M) (*.f64 D D))) (*.f64 d d)) 1/4): 15 points increase in error, 3 points decrease in error
      (*.f64 (/.f64 (*.f64 (Rewrite<= associate-*r*_binary64 (*.f64 h (*.f64 M M))) (*.f64 D D)) (*.f64 d d)) 1/4): 15 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 h (*.f64 M M)))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2)))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 h (pow.f64 M 2))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (Rewrite<= unpow2_binary64 (pow.f64 d 2))) 1/4): 0 points increase in error, 0 points decrease in error
      (Rewrite<= *-commutative_binary64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (pow.f64 d 2)))): 0 points increase in error, 0 points decrease in error
    7. Taylor expanded in D around 0 33.1

      \[\leadsto \frac{h}{\frac{d}{M}} \cdot \left(\color{blue}{\frac{{D}^{2} \cdot M}{d}} \cdot 0.25\right) \]
    8. Simplified23.9

      \[\leadsto \frac{h}{\frac{d}{M}} \cdot \left(\color{blue}{\left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)} \cdot 0.25\right) \]
      Proof
      (*.f64 D (*.f64 D (/.f64 M d))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 D D) (/.f64 M d))): 41 points increase in error, 27 points decrease in error
      (Rewrite=> associate-*r/_binary64 (/.f64 (*.f64 (*.f64 D D) M) d)): 26 points increase in error, 26 points decrease in error
      (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) M) d): 0 points increase in error, 0 points decrease in error
    9. Applied egg-rr21.9

      \[\leadsto \color{blue}{\frac{h}{\frac{\frac{d}{M}}{D \cdot \left(D \cdot \left(\frac{M}{d} \cdot 0.25\right)\right)}}} \]
    10. Simplified20.0

      \[\leadsto \color{blue}{\left(\frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}} \cdot M\right) \cdot h} \]
      Proof
      (*.f64 (*.f64 (/.f64 (*.f64 1/4 (*.f64 M (/.f64 D d))) (/.f64 d D)) M) h): 0 points increase in error, 0 points decrease in error
      (*.f64 (*.f64 (/.f64 (*.f64 1/4 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 D d) M))) (/.f64 d D)) M) h): 0 points increase in error, 0 points decrease in error
      (*.f64 (*.f64 (/.f64 (*.f64 1/4 (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 D M) d))) (/.f64 d D)) M) h): 9 points increase in error, 3 points decrease in error
      (*.f64 (*.f64 (/.f64 (*.f64 1/4 (Rewrite<= associate-*r/_binary64 (*.f64 D (/.f64 M d)))) (/.f64 d D)) M) h): 7 points increase in error, 12 points decrease in error
      (*.f64 (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D (/.f64 M d)) 1/4)) (/.f64 d D)) M) h): 0 points increase in error, 0 points decrease in error
      (*.f64 (*.f64 (/.f64 (Rewrite<= associate-*r*_binary64 (*.f64 D (*.f64 (/.f64 M d) 1/4))) (/.f64 d D)) M) h): 0 points increase in error, 1 points decrease in error
      (*.f64 (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) D) d)) M) h): 7 points increase in error, 5 points decrease in error
      (*.f64 (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 D (*.f64 D (*.f64 (/.f64 M d) 1/4)))) d) M) h): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*r*_binary64 (*.f64 (/.f64 (*.f64 D (*.f64 D (*.f64 (/.f64 M d) 1/4))) d) (*.f64 M h))): 25 points increase in error, 20 points decrease in error
      (*.f64 (/.f64 (*.f64 D (*.f64 D (*.f64 (/.f64 M d) 1/4))) d) (Rewrite<= *-commutative_binary64 (*.f64 h M))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-/r/_binary64 (/.f64 (*.f64 D (*.f64 D (*.f64 (/.f64 M d) 1/4))) (/.f64 d (*.f64 h M)))): 21 points increase in error, 16 points decrease in error
      (/.f64 (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) D)) (/.f64 d (*.f64 h M))): 0 points increase in error, 0 points decrease in error
      (Rewrite=> associate-/l*_binary64 (/.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) (/.f64 (/.f64 d (*.f64 h M)) D))): 10 points increase in error, 21 points decrease in error
      (/.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) (/.f64 (/.f64 d (Rewrite=> *-commutative_binary64 (*.f64 M h))) D)): 0 points increase in error, 0 points decrease in error
      (/.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) (/.f64 (Rewrite=> associate-/r*_binary64 (/.f64 (/.f64 d M) h)) D)): 14 points increase in error, 24 points decrease in error
      (/.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) (Rewrite<= associate-/r*_binary64 (/.f64 (/.f64 d M) (*.f64 h D)))): 27 points increase in error, 22 points decrease in error
      (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 D (*.f64 (/.f64 M d) 1/4)) (*.f64 h D)) (/.f64 d M))): 15 points increase in error, 9 points decrease in error
      (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 h D) (*.f64 D (*.f64 (/.f64 M d) 1/4)))) (/.f64 d M)): 0 points increase in error, 0 points decrease in error
      (/.f64 (Rewrite=> associate-*l*_binary64 (*.f64 h (*.f64 D (*.f64 D (*.f64 (/.f64 M d) 1/4))))) (/.f64 d M)): 15 points increase in error, 26 points decrease in error
      (Rewrite=> associate-/l*_binary64 (/.f64 h (/.f64 (/.f64 d M) (*.f64 D (*.f64 D (*.f64 (/.f64 M d) 1/4)))))): 29 points increase in error, 15 points decrease in error

    if 0.0 < (*.f64 D D) < 5e-177

    1. Initial program 57.9

      \[\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) \]
    2. Simplified57.9

      \[\leadsto \color{blue}{\frac{c0}{2 \cdot w} \cdot \left(\frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D} + \sqrt{\mathsf{fma}\left(\frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D}, \frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D}, -M \cdot M\right)}\right)} \]
      Proof
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 13 points increase in error, 1 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 4 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 7 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (Rewrite<= fma-neg_binary64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
    3. Taylor expanded in c0 around -inf 57.4

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\left(0.5 \cdot \frac{{D}^{2} \cdot \left(w \cdot \left({M}^{2} \cdot h\right)\right)}{{d}^{2} \cdot c0} + -1 \cdot \left(\left(\frac{{d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)} + -1 \cdot \frac{{d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)}\right) \cdot c0\right)\right)} \]
    4. Simplified59.3

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\mathsf{fma}\left(0.5, \frac{\left(w \cdot \left(h \cdot \left(M \cdot M\right)\right)\right) \cdot \left(D \cdot D\right)}{c0 \cdot \left(d \cdot d\right)}, -c0 \cdot \left(0 \cdot \frac{d \cdot d}{w \cdot \left(D \cdot \left(D \cdot h\right)\right)}\right)\right)} \]
      Proof
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (*.f64 h (*.f64 M M))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2)))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 M 2) h))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (pow.f64 M 2) h)))) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 d d) c0))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) c0)) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 1)) (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 w (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 D D) h)))))))): 4 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 w (Rewrite<= *-commutative_binary64 (*.f64 h (*.f64 D D))))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 w h) (*.f64 D D)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 w h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 w h))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (Rewrite<= distribute-rgt1-in_binary64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= fma-def_binary64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0))) (*.f64 -1 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
    5. Taylor expanded in c0 around 0 31.5

      \[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{{d}^{2}}} \]
    6. Simplified18.2

      \[\leadsto \color{blue}{\frac{h}{\frac{d}{M}} \cdot \left(\frac{D \cdot D}{\frac{d}{M}} \cdot 0.25\right)} \]
      Proof
      (*.f64 (/.f64 h (/.f64 d M)) (*.f64 (/.f64 (*.f64 D D) (/.f64 d M)) 1/4)): 0 points increase in error, 0 points decrease in error
      (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 h M) d)) (*.f64 (/.f64 (*.f64 D D) (/.f64 d M)) 1/4)): 16 points increase in error, 11 points decrease in error
      (*.f64 (/.f64 (*.f64 h M) d) (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 D D) M) d)) 1/4)): 12 points increase in error, 13 points decrease in error
      (*.f64 (/.f64 (*.f64 h M) d) (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 M (*.f64 D D))) d) 1/4)): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (/.f64 (*.f64 h M) d) (/.f64 (*.f64 M (*.f64 D D)) d)) 1/4)): 0 points increase in error, 0 points decrease in error
      (*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (*.f64 h M) (*.f64 M (*.f64 D D))) (*.f64 d d))) 1/4): 49 points increase in error, 7 points decrease in error
      (*.f64 (/.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 (*.f64 h M) M) (*.f64 D D))) (*.f64 d d)) 1/4): 15 points increase in error, 3 points decrease in error
      (*.f64 (/.f64 (*.f64 (Rewrite<= associate-*r*_binary64 (*.f64 h (*.f64 M M))) (*.f64 D D)) (*.f64 d d)) 1/4): 15 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 h (*.f64 M M)))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2)))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 h (pow.f64 M 2))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (Rewrite<= unpow2_binary64 (pow.f64 d 2))) 1/4): 0 points increase in error, 0 points decrease in error
      (Rewrite<= *-commutative_binary64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (pow.f64 d 2)))): 0 points increase in error, 0 points decrease in error
    7. Taylor expanded in D around 0 20.6

      \[\leadsto \frac{h}{\frac{d}{M}} \cdot \left(\color{blue}{\frac{{D}^{2} \cdot M}{d}} \cdot 0.25\right) \]
    8. Simplified17.7

      \[\leadsto \frac{h}{\frac{d}{M}} \cdot \left(\color{blue}{\left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)} \cdot 0.25\right) \]
      Proof
      (*.f64 D (*.f64 D (/.f64 M d))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 D D) (/.f64 M d))): 41 points increase in error, 27 points decrease in error
      (Rewrite=> associate-*r/_binary64 (/.f64 (*.f64 (*.f64 D D) M) d)): 26 points increase in error, 26 points decrease in error
      (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) M) d): 0 points increase in error, 0 points decrease in error
    9. Applied egg-rr20.6

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

    if 5e-177 < (*.f64 D D) < 4.9999999999999999e202

    1. Initial program 55.4

      \[\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) \]
    2. Simplified55.1

      \[\leadsto \color{blue}{\frac{c0}{2 \cdot w} \cdot \left(\frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D} + \sqrt{\mathsf{fma}\left(\frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D}, \frac{c0}{w \cdot h} \cdot \frac{d \cdot d}{D \cdot D}, -M \cdot M\right)}\right)} \]
      Proof
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 13 points increase in error, 1 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 4 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (Rewrite<= times-frac_binary64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 7 points decrease in error
      (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (Rewrite<= fma-neg_binary64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
    3. Taylor expanded in c0 around -inf 55.4

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\left(0.5 \cdot \frac{{D}^{2} \cdot \left(w \cdot \left({M}^{2} \cdot h\right)\right)}{{d}^{2} \cdot c0} + -1 \cdot \left(\left(\frac{{d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)} + -1 \cdot \frac{{d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)}\right) \cdot c0\right)\right)} \]
    4. Simplified55.7

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\mathsf{fma}\left(0.5, \frac{\left(w \cdot \left(h \cdot \left(M \cdot M\right)\right)\right) \cdot \left(D \cdot D\right)}{c0 \cdot \left(d \cdot d\right)}, -c0 \cdot \left(0 \cdot \frac{d \cdot d}{w \cdot \left(D \cdot \left(D \cdot h\right)\right)}\right)\right)} \]
      Proof
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (*.f64 h (*.f64 M M))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2)))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (*.f64 w (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 M 2) h))) (*.f64 D D)) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (pow.f64 M 2) h)))) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 c0 (*.f64 d d))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 d d) c0))) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) c0)) (neg.f64 (*.f64 c0 (*.f64 0 (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 1)) (/.f64 (*.f64 d d) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) (*.f64 w (*.f64 D (*.f64 D h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 w (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 D D) h)))))))): 4 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 w (Rewrite<= *-commutative_binary64 (*.f64 h (*.f64 D D))))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 w h) (*.f64 D D)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 w h)))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (*.f64 (+.f64 -1 1) (/.f64 (pow.f64 d 2) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 w h))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (*.f64 c0 (Rewrite<= distribute-rgt1-in_binary64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))))))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
      (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= fma-def_binary64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0))) (*.f64 -1 (*.f64 (+.f64 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))) (*.f64 -1 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 0 points increase in error, 0 points decrease in error
    5. Taylor expanded in c0 around 0 30.6

      \[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{{d}^{2}}} \]
    6. Simplified17.8

      \[\leadsto \color{blue}{\frac{h}{\frac{d}{M}} \cdot \left(\frac{D \cdot D}{\frac{d}{M}} \cdot 0.25\right)} \]
      Proof
      (*.f64 (/.f64 h (/.f64 d M)) (*.f64 (/.f64 (*.f64 D D) (/.f64 d M)) 1/4)): 0 points increase in error, 0 points decrease in error
      (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 h M) d)) (*.f64 (/.f64 (*.f64 D D) (/.f64 d M)) 1/4)): 16 points increase in error, 11 points decrease in error
      (*.f64 (/.f64 (*.f64 h M) d) (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 D D) M) d)) 1/4)): 12 points increase in error, 13 points decrease in error
      (*.f64 (/.f64 (*.f64 h M) d) (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 M (*.f64 D D))) d) 1/4)): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (/.f64 (*.f64 h M) d) (/.f64 (*.f64 M (*.f64 D D)) d)) 1/4)): 0 points increase in error, 0 points decrease in error
      (*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (*.f64 h M) (*.f64 M (*.f64 D D))) (*.f64 d d))) 1/4): 49 points increase in error, 7 points decrease in error
      (*.f64 (/.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 (*.f64 h M) M) (*.f64 D D))) (*.f64 d d)) 1/4): 15 points increase in error, 3 points decrease in error
      (*.f64 (/.f64 (*.f64 (Rewrite<= associate-*r*_binary64 (*.f64 h (*.f64 M M))) (*.f64 D D)) (*.f64 d d)) 1/4): 15 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 D D) (*.f64 h (*.f64 M M)))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2)))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 h (pow.f64 M 2))) (*.f64 d d)) 1/4): 0 points increase in error, 0 points decrease in error
      (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (Rewrite<= unpow2_binary64 (pow.f64 d 2))) 1/4): 0 points increase in error, 0 points decrease in error
      (Rewrite<= *-commutative_binary64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (pow.f64 d 2)))): 0 points increase in error, 0 points decrease in error
    7. Taylor expanded in D around 0 19.4

      \[\leadsto \frac{h}{\frac{d}{M}} \cdot \left(\color{blue}{\frac{{D}^{2} \cdot M}{d}} \cdot 0.25\right) \]
    8. Simplified17.8

      \[\leadsto \frac{h}{\frac{d}{M}} \cdot \left(\color{blue}{\left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)} \cdot 0.25\right) \]
      Proof
      (*.f64 D (*.f64 D (/.f64 M d))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 D D) (/.f64 M d))): 41 points increase in error, 27 points decrease in error
      (Rewrite=> associate-*r/_binary64 (/.f64 (*.f64 (*.f64 D D) M) d)): 26 points increase in error, 26 points decrease in error
      (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) M) d): 0 points increase in error, 0 points decrease in error
  3. Recombined 3 regimes into one program.
  4. Final simplification19.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;D \cdot D \leq 0:\\ \;\;\;\;\left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\ \mathbf{elif}\;D \cdot D \leq 5 \cdot 10^{-177}:\\ \;\;\;\;\frac{\frac{\left(D \cdot \left(0.25 \cdot \frac{M}{d}\right)\right) \cdot \left(D \cdot h\right)}{d}}{\frac{1}{M}}\\ \mathbf{elif}\;D \cdot D \leq 5 \cdot 10^{+202}:\\ \;\;\;\;\frac{h}{\frac{d}{M}} \cdot \left(0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\ \end{array} \]

Alternatives

Alternative 1
Error20.6
Cost1224
\[\begin{array}{l} t_0 := 0.25 \cdot \left(\frac{D}{\frac{d}{M}} \cdot \frac{D \cdot \left(M \cdot h\right)}{d}\right)\\ \mathbf{if}\;D \leq -2 \cdot 10^{+21}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;D \leq 10^{-243}:\\ \;\;\;\;0.25 \cdot \frac{D \cdot M}{\frac{d}{M} \cdot \frac{d}{D \cdot h}}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 2
Error20.8
Cost1224
\[\begin{array}{l} t_0 := \left(0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\right) \cdot \left(h \cdot \frac{M}{d}\right)\\ \mathbf{if}\;c0 \leq -5 \cdot 10^{-73}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;c0 \leq 2.25 \cdot 10^{+260}:\\ \;\;\;\;\left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 3
Error20.8
Cost1224
\[\begin{array}{l} t_0 := 0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\\ \mathbf{if}\;c0 \leq -4.1 \cdot 10^{-73}:\\ \;\;\;\;t_0 \cdot \left(h \cdot \frac{M}{d}\right)\\ \mathbf{elif}\;c0 \leq 1.08 \cdot 10^{+260}:\\ \;\;\;\;\left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\ \mathbf{else}:\\ \;\;\;\;\frac{h}{\frac{d}{M}} \cdot t_0\\ \end{array} \]
Alternative 4
Error20.8
Cost1224
\[\begin{array}{l} \mathbf{if}\;c0 \leq -2 \cdot 10^{-73}:\\ \;\;\;\;\left(0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\right) \cdot \left(h \cdot \frac{M}{d}\right)\\ \mathbf{elif}\;c0 \leq 1.12 \cdot 10^{+260}:\\ \;\;\;\;\left(M \cdot \frac{0.25 \cdot \left(M \cdot \frac{D}{d}\right)}{\frac{d}{D}}\right) \cdot h\\ \mathbf{else}:\\ \;\;\;\;\frac{h}{\frac{d}{M}} \cdot \left(0.25 \cdot \left(D \cdot \frac{D}{\frac{d}{M}}\right)\right)\\ \end{array} \]
Alternative 5
Error26.5
Cost1220
\[\begin{array}{l} \mathbf{if}\;M \cdot M \leq 5 \cdot 10^{+260}:\\ \;\;\;\;0.25 \cdot \left(\left(\frac{D}{d} \cdot \left(D \cdot h\right)\right) \cdot \frac{M \cdot M}{d}\right)\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array} \]
Alternative 6
Error21.8
Cost1092
\[\begin{array}{l} \mathbf{if}\;h \leq 3.3 \cdot 10^{+41}:\\ \;\;\;\;\left(D \cdot \left(0.25 \cdot \left(M \cdot \frac{D}{d}\right)\right)\right) \cdot \left(M \cdot \frac{h}{d}\right)\\ \mathbf{else}:\\ \;\;\;\;0.25 \cdot \left(\frac{D}{\frac{d}{M}} \cdot \frac{D \cdot \left(M \cdot h\right)}{d}\right)\\ \end{array} \]
Alternative 7
Error20.8
Cost960
\[0.25 \cdot \left(\frac{D}{\frac{d}{M}} \cdot \frac{D \cdot \left(M \cdot h\right)}{d}\right) \]
Alternative 8
Error21.0
Cost960
\[\left(0.25 \cdot \left(D \cdot \left(D \cdot \frac{M}{d}\right)\right)\right) \cdot \left(h \cdot \frac{M}{d}\right) \]
Alternative 9
Error31.6
Cost64
\[0 \]

Error

Reproduce

herbie shell --seed 2022326 
(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))))))