(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 (* c0 (/ d D)))
(t_1 (* (/ t_0 (* w h)) (/ t_0 w)))
(t_2 (/ (* c0 (* d d)) (* (* w h) (* D D))))
(t_3 (* (/ c0 (* 2.0 w)) (+ t_2 (sqrt (- (* t_2 t_2) (* M M)))))))
(if (<= t_3 -1e-25)
t_1
(if (<= t_3 5e-23)
(* h (/ (* M (* D 0.25)) (* (/ d D) (/ d M))))
(if (<= t_3 INFINITY)
t_1
(/ (* M (* (* D (* M (/ D d))) (* h 0.25))) d))))))
(*.f64 (/.f64 (/.f64 c0 w) 2) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 w (*.f64 h (*.f64 D D)))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite=> associate-/l/ (/.f64 c0 (*.f64 2 w))) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 w (*.f64 h (*.f64 D D)))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (Rewrite<= associate-*l* (*.f64 (*.f64 w h) (*.f64 D D)))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 1 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (/.f64 d D) (Rewrite<= cube-unmult (*.f64 (/.f64 d D) (*.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)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (/.f64 d D) (*.f64 (/.f64 d D) (Rewrite<= times-frac (/.f64 (*.f64 d d) (*.f64 D D))))) (neg.f64 (*.f64 M M)))))): 2 points increase in error, 2 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (Rewrite<= associate-*l* (*.f64 (*.f64 (/.f64 d D) (/.f64 d D)) (/.f64 (*.f64 d d) (*.f64 D D)))) (neg.f64 (*.f64 M M)))))): 0 points increase in error, 1 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (fma.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (Rewrite<= times-frac (/.f64 (*.f64 d d) (*.f64 D D))) (/.f64 (*.f64 d d) (*.f64 D D))) (neg.f64 (*.f64 M M)))))): 2 points increase in error, 1 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (Rewrite<= fma-neg (-.f64 (*.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h))) (*.f64 (/.f64 (*.f64 d d) (*.f64 D D)) (/.f64 (*.f64 d d) (*.f64 D D)))) (*.f64 M M)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (Rewrite<= swap-sqr (*.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))))) (*.f64 M M))))): 0 points increase in error, 7 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (Rewrite<= times-frac (/.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)))) (*.f64 M M))))): 5 points increase in error, 1 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (Rewrite<= times-frac (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))))) (*.f64 M M))))): 0 points increase in error, 10 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (Rewrite<= fma-def (+.f64 (*.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D)))) (sqrt.f64 (-.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)))))): 2 points increase in error, 6 points decrease in error
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (Rewrite<= *-commutative (*.f64 (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (*.f64 d d))) (sqrt.f64 (-.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
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (Rewrite=> associate-*l/ (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (sqrt.f64 (-.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, 3 points decrease in error
(/.f64 (*.f64 (/.f64 (/.f64 (*.f64 d d) D) D) (*.f64 c0 c0)) (*.f64 w (*.f64 w h))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (/.f64 (/.f64 (Rewrite<= unpow2 (pow.f64 d 2)) D) D) (*.f64 c0 c0)) (*.f64 w (*.f64 w h))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (Rewrite<= associate-/r* (/.f64 (pow.f64 d 2) (*.f64 D D))) (*.f64 c0 c0)) (*.f64 w (*.f64 w h))): 14 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (/.f64 (pow.f64 d 2) (Rewrite<= unpow2 (pow.f64 D 2))) (*.f64 c0 c0)) (*.f64 w (*.f64 w h))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (/.f64 (pow.f64 d 2) (pow.f64 D 2)) (Rewrite<= unpow2 (pow.f64 c0 2))) (*.f64 w (*.f64 w h))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (/.f64 (pow.f64 d 2) (pow.f64 D 2)) (pow.f64 c0 2)) (Rewrite<= associate-*l* (*.f64 (*.f64 w w) h))): 3 points increase in error, 2 points decrease in error
(/.f64 (*.f64 (/.f64 (pow.f64 d 2) (pow.f64 D 2)) (pow.f64 c0 2)) (*.f64 (Rewrite<= unpow2 (pow.f64 w 2)) h)): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*r/ (*.f64 (/.f64 (pow.f64 d 2) (pow.f64 D 2)) (/.f64 (pow.f64 c0 2) (*.f64 (pow.f64 w 2) h)))): 6 points increase in error, 4 points decrease in error
(Rewrite<= times-frac (/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))): 5 points increase in error, 7 points decrease in error
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (Rewrite<= times-frac (/.f64 (*.f64 D D) (*.f64 d d))) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 45 points increase in error, 5 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (Rewrite<= unpow2 (pow.f64 D 2)) (*.f64 d d)) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (Rewrite<= unpow2 (pow.f64 d 2))) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (*.f64 w h) (/.f64 c0 (Rewrite<= unpow2 (pow.f64 M 2))))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (Rewrite<= associate-/l* (/.f64 (*.f64 (*.f64 w h) (pow.f64 M 2)) c0))) (*.f64 c0 0)): 5 points increase in error, 4 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (Rewrite<= associate-*r* (*.f64 w (*.f64 h (pow.f64 M 2)))) c0)) (*.f64 c0 0)): 6 points increase in error, 8 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (*.f64 w (Rewrite=> *-commutative (*.f64 (pow.f64 M 2) h))) c0)) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (Rewrite<= times-frac (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0))) (*.f64 c0 0)): 13 points increase in error, 10 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)) (*.f64 c0 (Rewrite<= metadata-eval (*.f64 -1 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)) (*.f64 c0 (*.f64 -1 (Rewrite<= mul0-lft (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h)))))))): 111 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)) (*.f64 c0 (*.f64 -1 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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)) (*.f64 c0 (*.f64 -1 (Rewrite<= distribute-rgt1-in (+.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)) (Rewrite<= *-commutative (*.f64 (*.f64 -1 (+.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<= associate-*r* (*.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 (+.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
(*.f64 h (*.f64 (*.f64 1/4 (/.f64 (*.f64 D D) d)) (/.f64 M (/.f64 d M)))): 0 points increase in error, 0 points decrease in error
(*.f64 h (*.f64 (*.f64 1/4 (/.f64 (Rewrite<= unpow2 (pow.f64 D 2)) d)) (/.f64 M (/.f64 d M)))): 0 points increase in error, 0 points decrease in error
(*.f64 h (*.f64 (Rewrite=> associate-*r/ (/.f64 (*.f64 1/4 (pow.f64 D 2)) d)) (/.f64 M (/.f64 d M)))): 1 points increase in error, 0 points decrease in error
(*.f64 h (*.f64 (/.f64 (*.f64 1/4 (pow.f64 D 2)) d) (Rewrite<= associate-/l* (/.f64 (*.f64 M M) d)))): 21 points increase in error, 3 points decrease in error
(*.f64 h (*.f64 (/.f64 (*.f64 1/4 (pow.f64 D 2)) d) (/.f64 (Rewrite<= unpow2 (pow.f64 M 2)) d))): 0 points increase in error, 0 points decrease in error
(*.f64 h (Rewrite<= associate-/r/ (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 d (/.f64 (pow.f64 M 2) d))))): 10 points increase in error, 8 points decrease in error
(*.f64 h (/.f64 (*.f64 1/4 (pow.f64 D 2)) (Rewrite<= associate-/l* (/.f64 (*.f64 d d) (pow.f64 M 2))))): 21 points increase in error, 3 points decrease in error
(*.f64 h (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 (Rewrite<= unpow2 (pow.f64 d 2)) (pow.f64 M 2)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= *-commutative (*.f64 (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 (pow.f64 d 2) (pow.f64 M 2))) h)): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-/r/ (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 (/.f64 (pow.f64 d 2) (pow.f64 M 2)) h))): 7 points increase in error, 5 points decrease in error
(/.f64 (*.f64 1/4 (pow.f64 D 2)) (Rewrite<= associate-/r* (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 M 2) h)))): 9 points increase in error, 5 points decrease in error
(Rewrite<= associate-*r/ (*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 M 2) h))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (Rewrite<= associate-/l* (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))): 7 points increase in error, 8 points decrease in error
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (Rewrite=> *-commutative (*.f64 h (pow.f64 M 2)))) (pow.f64 d 2))): 0 points increase in error, 0 points decrease in error
Applied egg-rr27.0
\[\leadsto h \cdot \left(\left(0.25 \cdot \color{blue}{\frac{D}{\frac{d}{D}}}\right) \cdot \frac{M}{\frac{d}{M}}\right)
\]
if +inf.0 < (*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.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)))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (Rewrite<= times-frac (/.f64 (*.f64 D D) (*.f64 d d))) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 45 points increase in error, 5 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (Rewrite<= unpow2 (pow.f64 D 2)) (*.f64 d d)) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (Rewrite<= unpow2 (pow.f64 d 2))) (/.f64 (*.f64 w h) (/.f64 c0 (*.f64 M M)))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (*.f64 w h) (/.f64 c0 (Rewrite<= unpow2 (pow.f64 M 2))))) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (Rewrite<= associate-/l* (/.f64 (*.f64 (*.f64 w h) (pow.f64 M 2)) c0))) (*.f64 c0 0)): 5 points increase in error, 4 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (Rewrite<= associate-*r* (*.f64 w (*.f64 h (pow.f64 M 2)))) c0)) (*.f64 c0 0)): 6 points increase in error, 8 points decrease in error
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (*.f64 w (Rewrite=> *-commutative (*.f64 (pow.f64 M 2) h))) c0)) (*.f64 c0 0)): 0 points increase in error, 0 points decrease in error
(fma.f64 1/2 (Rewrite<= times-frac (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 (pow.f64 M 2) h))) (*.f64 (pow.f64 d 2) c0))) (*.f64 c0 0)): 13 points increase in error, 10 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)) (*.f64 c0 (Rewrite<= metadata-eval (*.f64 -1 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)) (*.f64 c0 (*.f64 -1 (Rewrite<= mul0-lft (*.f64 0 (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 D 2) (*.f64 w h)))))))): 111 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)) (*.f64 c0 (*.f64 -1 (*.f64 (Rewrite<= metadata-eval (+.f64 -1 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)) (*.f64 c0 (*.f64 -1 (Rewrite<= distribute-rgt1-in (+.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)) (Rewrite<= *-commutative (*.f64 (*.f64 -1 (+.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<= associate-*r* (*.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 (+.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
(*.f64 h (*.f64 (*.f64 1/4 (/.f64 (*.f64 D D) d)) (/.f64 M (/.f64 d M)))): 0 points increase in error, 0 points decrease in error
(*.f64 h (*.f64 (*.f64 1/4 (/.f64 (Rewrite<= unpow2 (pow.f64 D 2)) d)) (/.f64 M (/.f64 d M)))): 0 points increase in error, 0 points decrease in error
(*.f64 h (*.f64 (Rewrite=> associate-*r/ (/.f64 (*.f64 1/4 (pow.f64 D 2)) d)) (/.f64 M (/.f64 d M)))): 1 points increase in error, 0 points decrease in error
(*.f64 h (*.f64 (/.f64 (*.f64 1/4 (pow.f64 D 2)) d) (Rewrite<= associate-/l* (/.f64 (*.f64 M M) d)))): 21 points increase in error, 3 points decrease in error
(*.f64 h (*.f64 (/.f64 (*.f64 1/4 (pow.f64 D 2)) d) (/.f64 (Rewrite<= unpow2 (pow.f64 M 2)) d))): 0 points increase in error, 0 points decrease in error
(*.f64 h (Rewrite<= associate-/r/ (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 d (/.f64 (pow.f64 M 2) d))))): 10 points increase in error, 8 points decrease in error
(*.f64 h (/.f64 (*.f64 1/4 (pow.f64 D 2)) (Rewrite<= associate-/l* (/.f64 (*.f64 d d) (pow.f64 M 2))))): 21 points increase in error, 3 points decrease in error
(*.f64 h (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 (Rewrite<= unpow2 (pow.f64 d 2)) (pow.f64 M 2)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= *-commutative (*.f64 (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 (pow.f64 d 2) (pow.f64 M 2))) h)): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-/r/ (/.f64 (*.f64 1/4 (pow.f64 D 2)) (/.f64 (/.f64 (pow.f64 d 2) (pow.f64 M 2)) h))): 7 points increase in error, 5 points decrease in error
(/.f64 (*.f64 1/4 (pow.f64 D 2)) (Rewrite<= associate-/r* (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 M 2) h)))): 9 points increase in error, 5 points decrease in error
(Rewrite<= associate-*r/ (*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 (pow.f64 d 2) (*.f64 (pow.f64 M 2) h))))): 0 points increase in error, 0 points decrease in error
(*.f64 1/4 (Rewrite<= associate-/l* (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))): 7 points increase in error, 8 points decrease in error
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (Rewrite=> *-commutative (*.f64 h (pow.f64 M 2)))) (pow.f64 d 2))): 0 points increase in error, 0 points decrease in error
herbie shell --seed 2022296
(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))))))