Simplified38.4
\[\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): 9 points increase in error, 5 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): 15 points increase in error, 2 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): 7 points increase in error, 4 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)))): 115 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))): 0 points increase in error, 1 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))): 1 points increase in error, 1 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))): 1 points increase in error, 0 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, 116 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))): 116 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
Simplified22.2
\[\leadsto \color{blue}{\left(\frac{D}{d} \cdot \frac{D}{d}\right) \cdot \left(\left(M \cdot \left(M \cdot h\right)\right) \cdot 0.25\right)}
\]
Proof
(*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (*.f64 (*.f64 M (*.f64 M h)) 1/4)): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 D D) (*.f64 d d))) (*.f64 (*.f64 M (*.f64 M h)) 1/4)): 46 points increase in error, 10 points decrease in error
(*.f64 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 D 2)) (*.f64 d d)) (*.f64 (*.f64 M (*.f64 M h)) 1/4)): 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 M (*.f64 M h)) 1/4)): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 M M) h)) 1/4)): 22 points increase in error, 3 points decrease in error
(*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (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-*l/_binary64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))) 1/4): 9 points increase in error, 8 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