Simplified7.3
\[\leadsto \color{blue}{\mathsf{fma}\left(x.re, x.im \cdot \left(x.im \cdot -3\right), {x.re}^{3}\right)}
\]
Proof
(fma.f64 x.re (*.f64 x.im (*.f64 x.im -3)) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (*.f64 x.im (*.f64 x.im (Rewrite<= metadata-eval (-.f64 -1 2)))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x.im x.im) (-.f64 -1 2))) (pow.f64 x.re 3)): 11 points increase in error, 9 points decrease in error
(fma.f64 x.re (Rewrite<= distribute-rgt-out--_binary64 (-.f64 (*.f64 -1 (*.f64 x.im x.im)) (*.f64 2 (*.f64 x.im x.im)))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (-.f64 (Rewrite<= neg-mul-1_binary64 (neg.f64 (*.f64 x.im x.im))) (*.f64 2 (*.f64 x.im x.im))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (-.f64 (Rewrite<= distribute-lft-neg-out_binary64 (*.f64 (neg.f64 x.im) x.im)) (*.f64 2 (*.f64 x.im x.im))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (-.f64 (*.f64 (neg.f64 x.im) x.im) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 2 x.im) x.im))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (-.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (Rewrite<= count-2_binary64 (+.f64 x.im x.im)) x.im)) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (Rewrite<= unsub-neg_binary64 (+.f64 (*.f64 (neg.f64 x.im) x.im) (neg.f64 (*.f64 (+.f64 x.im x.im) x.im)))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (+.f64 (*.f64 (neg.f64 x.im) x.im) (Rewrite<= distribute-rgt-neg-out_binary64 (*.f64 (+.f64 x.im x.im) (neg.f64 x.im)))) (pow.f64 x.re 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x.re (+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im))) (Rewrite=> unpow3_binary64 (*.f64 (*.f64 x.re x.re) x.re))): 18 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 x.re (+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im)))) (*.f64 (*.f64 x.re x.re) x.re))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 x.re (+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im)))) (Rewrite=> associate-*l*_binary64 (*.f64 x.re (*.f64 x.re x.re)))): 0 points increase in error, 0 points decrease in error
(Rewrite=> distribute-lft-out_binary64 (*.f64 x.re (+.f64 (+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im))) (*.f64 x.re x.re)))): 2 points increase in error, 0 points decrease in error
(*.f64 x.re (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 x.re x.re) (+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im)))))): 0 points increase in error, 0 points decrease in error
(*.f64 x.re (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im))))): 1 points increase in error, 2 points decrease in error
(*.f64 x.re (+.f64 (Rewrite<= cancel-sign-sub-inv_binary64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (+.f64 x.im x.im) (neg.f64 x.im)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 (+.f64 x.im x.im) (neg.f64 x.im))))): 29 points increase in error, 20 points decrease in error
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x.re (+.f64 x.im x.im)) (neg.f64 x.im)))): 5 points increase in error, 9 points decrease in error
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))) (neg.f64 x.im))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (+.f64 (Rewrite=> *-commutative_binary64 (*.f64 x.re x.im)) (*.f64 x.im x.re)) (neg.f64 x.im))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)) (neg.f64 (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))): 0 points increase in error, 0 points decrease in error
(Rewrite<= sub-neg_binary64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))): 0 points increase in error, 0 points decrease in error