Initial program 62.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)
\]
Taylor expanded in c0 around -inf 62.6
\[\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)}
\]
Simplified44.8
\[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\mathsf{fma}\left(\frac{0.5}{d \cdot \left(d \cdot c0\right)}, w \cdot \left(\left(M \cdot \left(M \cdot h\right)\right) \cdot \left(D \cdot D\right)\right), 0\right)}
\]
Proof
(fma.f64 (/.f64 1/2 (*.f64 d (*.f64 d c0))) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 d d) c0))) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 11 points increase in error, 11 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) c0)) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 M M) h)) (*.f64 D D))) 0): 16 points increase in error, 1 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 M 2)) h) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (Rewrite=> *-commutative_binary64 (*.f64 h (pow.f64 M 2))) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (*.f64 h (pow.f64 M 2)) (Rewrite<= unpow2_binary64 (pow.f64 D 2)))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 w (*.f64 h (pow.f64 M 2))) (pow.f64 D 2))) 0): 12 points increase in error, 5 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (Rewrite<= mul0-rgt_binary64 (*.f64 (neg.f64 c0) 0))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (neg.f64 c0) (Rewrite<= metadata-eval (+.f64 -1 1)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 c0 (+.f64 -1 1))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 c0 (Rewrite=> metadata-eval 0)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (Rewrite=> mul0-rgt_binary64 0))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (Rewrite<= metadata-eval (*.f64 -1 0)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (Rewrite<= mul0-lft_binary64 (*.f64 0 c0))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (Rewrite<= mul0-lft_binary64 (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 101 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (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)))))) c0)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-neg_binary64 (-.f64 (*.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.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
(-.f64 (Rewrite<= associate-/r/_binary64 (/.f64 1/2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))))) (*.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))): 6 points increase in error, 3 points decrease in error
(-.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.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))): 4 points increase in error, 3 points decrease in error
(-.f64 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 D 2) (*.f64 w (Rewrite<= *-commutative_binary64 (*.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
(-.f64 (Rewrite<= associate-*r/_binary64 (*.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, 1 points decrease in error
(Rewrite=> fma-neg_binary64 (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 -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
(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 -1 (*.f64 (Rewrite=> distribute-rgt1-in_binary64 (*.f64 (+.f64 -1 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)) (neg.f64 (*.f64 -1 (*.f64 (*.f64 (Rewrite=> metadata-eval 0) (/.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)) (neg.f64 (*.f64 -1 (*.f64 (Rewrite=> mul0-lft_binary64 0) c0)))): 0 points increase in error, 102 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 -1 (Rewrite=> mul0-lft_binary64 0)))): 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=> metadata-eval 0))): 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<= mul0-lft_binary64 (*.f64 0 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)) (neg.f64 (*.f64 (Rewrite<= mul0-lft_binary64 (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0))): 102 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 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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)) (neg.f64 (*.f64 (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)))))) 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
Taylor expanded in c0 around 0 41.5
\[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2}}}
\]
Simplified28.4
\[\leadsto \color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\left(0.25 \cdot h\right) \cdot \left(M \cdot M\right)\right)}
\]
Proof
(*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 D D) (*.f64 d d))) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 47 points increase in error, 8 points decrease in error
(*.f64 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 d d)) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (Rewrite<= unpow2_binary64 (pow.f64 d 2))) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 (*.f64 1/4 h) (Rewrite<= unpow2_binary64 (pow.f64 M 2)))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (Rewrite<= associate-*r*_binary64 (*.f64 1/4 (*.f64 h (pow.f64 M 2))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 1/4 (Rewrite=> *-commutative_binary64 (*.f64 (pow.f64 M 2) h)))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 (pow.f64 M 2) h) 1/4))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 (pow.f64 M 2) h)) 1/4)): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-/r/_binary64 (/.f64 (pow.f64 D 2) (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 M 2) h)))) 1/4): 12 points increase in error, 5 points decrease in error
(*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) 1/4): 8 points increase in error, 9 points decrease in error
(Rewrite<= *-commutative_binary64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))): 0 points increase in error, 0 points decrease in error
Taylor expanded in D around 0 41.5
\[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2}}}
\]
Simplified26.2
\[\leadsto \color{blue}{0.25 \cdot \left(D \cdot \frac{D}{\frac{d}{\left(\frac{M}{d} \cdot M\right) \cdot h}}\right)}
\]
Proof
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (*.f64 (*.f64 (/.f64 M d) M) h))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (*.f64 (Rewrite<= associate-/r/_binary64 (/.f64 M (/.f64 d M))) h))))): 3 points increase in error, 0 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 M M) d)) h))))): 13 points increase in error, 5 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (*.f64 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 M 2)) d) h))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (Rewrite<= associate-/r/_binary64 (/.f64 (pow.f64 M 2) (/.f64 d h))))))): 10 points increase in error, 6 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (pow.f64 M 2) h) d)))))): 13 points increase in error, 10 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 d (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 h (pow.f64 M 2))) d))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 d d) (*.f64 h (pow.f64 M 2))))))): 25 points increase in error, 4 points decrease in error
(*.f64 1/4 (*.f64 D (/.f64 D (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) (*.f64 h (pow.f64 M 2)))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 D (/.f64 (pow.f64 d 2) (*.f64 h (pow.f64 M 2)))) D))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 D D) (/.f64 (pow.f64 d 2) (*.f64 h (pow.f64 M 2)))))): 36 points increase in error, 6 points decrease in error
(*.f64 1/4 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (/.f64 (pow.f64 d 2) (*.f64 h (pow.f64 M 2))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (pow.f64 d 2)))): 8 points increase in error, 9 points decrease in error
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (Rewrite=> *-commutative_binary64 (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2))): 0 points increase in error, 0 points decrease in error
Taylor expanded in D around 0 41.5
\[\leadsto 0.25 \cdot \color{blue}{\frac{{D}^{2} \cdot \left(h \cdot {M}^{2}\right)}{{d}^{2}}}
\]
Simplified20.4
\[\leadsto 0.25 \cdot \color{blue}{\left(M \cdot \left(\frac{D}{d} \cdot \left(\frac{D}{d} \cdot \left(M \cdot h\right)\right)\right)\right)}
\]
Proof
(*.f64 M (*.f64 (/.f64 D d) (*.f64 (/.f64 D d) (*.f64 M h)))): 0 points increase in error, 0 points decrease in error
(*.f64 M (*.f64 (/.f64 D d) (*.f64 (/.f64 D d) (Rewrite<= *-commutative_binary64 (*.f64 h M))))): 0 points increase in error, 0 points decrease in error
(*.f64 M (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (*.f64 h M)))): 36 points increase in error, 8 points decrease in error
(*.f64 M (*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 D D) (*.f64 d d))) (*.f64 h M))): 59 points increase in error, 10 points decrease in error
(*.f64 M (*.f64 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 d d)) (*.f64 h M))): 0 points increase in error, 0 points decrease in error
(*.f64 M (*.f64 (/.f64 (pow.f64 D 2) (Rewrite<= unpow2_binary64 (pow.f64 d 2))) (*.f64 h M))): 0 points increase in error, 0 points decrease in error
(*.f64 M (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 h M) (/.f64 (pow.f64 D 2) (pow.f64 d 2))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 M (*.f64 h M)) (/.f64 (pow.f64 D 2) (pow.f64 d 2)))): 20 points increase in error, 5 points decrease in error
(*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 h M) M)) (/.f64 (pow.f64 D 2) (pow.f64 d 2))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-*r*_binary64 (*.f64 h (*.f64 M M))) (/.f64 (pow.f64 D 2) (pow.f64 d 2))): 21 points increase in error, 4 points decrease in error
(*.f64 (*.f64 h (Rewrite<= unpow2_binary64 (pow.f64 M 2))) (/.f64 (pow.f64 D 2) (pow.f64 d 2))): 0 points increase in error, 0 points decrease in error
(Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 h (pow.f64 M 2)))): 0 points increase in error, 0 points decrease in error
(Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) (pow.f64 d 2))): 10 points increase in error, 2 points decrease in error
Initial program 56.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)
\]
Taylor expanded in c0 around -inf 56.8
\[\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)}
\]
Simplified38.3
\[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\mathsf{fma}\left(\frac{0.5}{d \cdot \left(d \cdot c0\right)}, w \cdot \left(\left(M \cdot \left(M \cdot h\right)\right) \cdot \left(D \cdot D\right)\right), 0\right)}
\]
Proof
(fma.f64 (/.f64 1/2 (*.f64 d (*.f64 d c0))) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 d d) c0))) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 11 points increase in error, 11 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) c0)) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 M M) h)) (*.f64 D D))) 0): 16 points increase in error, 1 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 M 2)) h) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (Rewrite=> *-commutative_binary64 (*.f64 h (pow.f64 M 2))) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (*.f64 h (pow.f64 M 2)) (Rewrite<= unpow2_binary64 (pow.f64 D 2)))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 w (*.f64 h (pow.f64 M 2))) (pow.f64 D 2))) 0): 12 points increase in error, 5 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (Rewrite<= mul0-rgt_binary64 (*.f64 (neg.f64 c0) 0))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (neg.f64 c0) (Rewrite<= metadata-eval (+.f64 -1 1)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 c0 (+.f64 -1 1))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 c0 (Rewrite=> metadata-eval 0)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (Rewrite=> mul0-rgt_binary64 0))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (Rewrite<= metadata-eval (*.f64 -1 0)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (Rewrite<= mul0-lft_binary64 (*.f64 0 c0))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (Rewrite<= mul0-lft_binary64 (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 101 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (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)))))) c0)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-neg_binary64 (-.f64 (*.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.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
(-.f64 (Rewrite<= associate-/r/_binary64 (/.f64 1/2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))))) (*.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))): 6 points increase in error, 3 points decrease in error
(-.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.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))): 4 points increase in error, 3 points decrease in error
(-.f64 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 D 2) (*.f64 w (Rewrite<= *-commutative_binary64 (*.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
(-.f64 (Rewrite<= associate-*r/_binary64 (*.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, 1 points decrease in error
(Rewrite=> fma-neg_binary64 (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 -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
(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 -1 (*.f64 (Rewrite=> distribute-rgt1-in_binary64 (*.f64 (+.f64 -1 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)) (neg.f64 (*.f64 -1 (*.f64 (*.f64 (Rewrite=> metadata-eval 0) (/.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)) (neg.f64 (*.f64 -1 (*.f64 (Rewrite=> mul0-lft_binary64 0) c0)))): 0 points increase in error, 102 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 -1 (Rewrite=> mul0-lft_binary64 0)))): 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=> metadata-eval 0))): 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<= mul0-lft_binary64 (*.f64 0 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)) (neg.f64 (*.f64 (Rewrite<= mul0-lft_binary64 (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0))): 102 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 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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)) (neg.f64 (*.f64 (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)))))) 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
Taylor expanded in c0 around 0 33.0
\[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2}}}
\]
Applied egg-rr22.2
\[\leadsto 0.25 \cdot \color{blue}{\left(\frac{{\left(D \cdot M\right)}^{2}}{d} \cdot \frac{h}{d}\right)}
\]
Applied egg-rr20.6
\[\leadsto 0.25 \cdot \left(\color{blue}{\left(\left(D \cdot M\right) \cdot \left(\left(D \cdot M\right) \cdot \frac{1}{d}\right)\right)} \cdot \frac{h}{d}\right)
\]
Initial program 60.5
\[\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)
\]
Taylor expanded in c0 around -inf 60.0
\[\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)}
\]
Simplified35.7
\[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{\mathsf{fma}\left(\frac{0.5}{d \cdot \left(d \cdot c0\right)}, w \cdot \left(\left(M \cdot \left(M \cdot h\right)\right) \cdot \left(D \cdot D\right)\right), 0\right)}
\]
Proof
(fma.f64 (/.f64 1/2 (*.f64 d (*.f64 d c0))) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 d d) c0))) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 11 points increase in error, 11 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 d 2)) c0)) (*.f64 w (*.f64 (*.f64 M (*.f64 M h)) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 M M) h)) (*.f64 D D))) 0): 16 points increase in error, 1 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 M 2)) h) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (Rewrite=> *-commutative_binary64 (*.f64 h (pow.f64 M 2))) (*.f64 D D))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 w (*.f64 (*.f64 h (pow.f64 M 2)) (Rewrite<= unpow2_binary64 (pow.f64 D 2)))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 w (*.f64 h (pow.f64 M 2))) (pow.f64 D 2))) 0): 12 points increase in error, 5 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) 0): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (Rewrite<= mul0-rgt_binary64 (*.f64 (neg.f64 c0) 0))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (neg.f64 c0) (Rewrite<= metadata-eval (+.f64 -1 1)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 c0 (+.f64 -1 1))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 c0 (Rewrite=> metadata-eval 0)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (Rewrite=> mul0-rgt_binary64 0))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (Rewrite<= metadata-eval (*.f64 -1 0)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (Rewrite<= mul0-lft_binary64 (*.f64 0 c0))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (Rewrite<= mul0-lft_binary64 (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0)))): 101 points increase in error, 0 points decrease in error
(fma.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (neg.f64 (*.f64 -1 (*.f64 (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)))))) c0)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-neg_binary64 (-.f64 (*.f64 (/.f64 1/2 (*.f64 (pow.f64 d 2) c0)) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.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
(-.f64 (Rewrite<= associate-/r/_binary64 (/.f64 1/2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))))) (*.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))): 6 points increase in error, 3 points decrease in error
(-.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.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))): 4 points increase in error, 3 points decrease in error
(-.f64 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 D 2) (*.f64 w (Rewrite<= *-commutative_binary64 (*.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
(-.f64 (Rewrite<= associate-*r/_binary64 (*.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, 1 points decrease in error
(Rewrite=> fma-neg_binary64 (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 -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
(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 -1 (*.f64 (Rewrite=> distribute-rgt1-in_binary64 (*.f64 (+.f64 -1 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)) (neg.f64 (*.f64 -1 (*.f64 (*.f64 (Rewrite=> metadata-eval 0) (/.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)) (neg.f64 (*.f64 -1 (*.f64 (Rewrite=> mul0-lft_binary64 0) c0)))): 0 points increase in error, 102 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 -1 (Rewrite=> mul0-lft_binary64 0)))): 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=> metadata-eval 0))): 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<= mul0-lft_binary64 (*.f64 0 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)) (neg.f64 (*.f64 (Rewrite<= mul0-lft_binary64 (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h))))) c0))): 102 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 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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)) (neg.f64 (*.f64 (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)))))) 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
Taylor expanded in c0 around 0 32.5
\[\leadsto \color{blue}{0.25 \cdot \frac{{D}^{2} \cdot \left({M}^{2} \cdot h\right)}{{d}^{2}}}
\]
Simplified28.0
\[\leadsto \color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\left(0.25 \cdot h\right) \cdot \left(M \cdot M\right)\right)}
\]
Proof
(*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 D D) (*.f64 d d))) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 47 points increase in error, 8 points decrease in error
(*.f64 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 d d)) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (Rewrite<= unpow2_binary64 (pow.f64 d 2))) (*.f64 (*.f64 1/4 h) (*.f64 M M))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 (*.f64 1/4 h) (Rewrite<= unpow2_binary64 (pow.f64 M 2)))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (Rewrite<= associate-*r*_binary64 (*.f64 1/4 (*.f64 h (pow.f64 M 2))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 1/4 (Rewrite=> *-commutative_binary64 (*.f64 (pow.f64 M 2) h)))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 (pow.f64 M 2) h) 1/4))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 (pow.f64 M 2) h)) 1/4)): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-/r/_binary64 (/.f64 (pow.f64 D 2) (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 M 2) h)))) 1/4): 12 points increase in error, 5 points decrease in error
(*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) 1/4): 8 points increase in error, 9 points decrease in error
(Rewrite<= *-commutative_binary64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))): 0 points increase in error, 0 points decrease in error
Applied egg-rr18.6
\[\leadsto \color{blue}{0 + \left(0.25 \cdot h\right) \cdot {\left(M \cdot \frac{D}{d}\right)}^{2}}
\]