Initial program 0.0
\[x \cdot \left(x \cdot x\right) + x \cdot x
\]
Simplified0.0
\[\leadsto \color{blue}{\mathsf{fma}\left(x, x, {x}^{3}\right)}
\]
Proof
(fma.f64 x x (pow.f64 x 3)): 0 points increase in error, 0 points decrease in error
(fma.f64 x x (Rewrite<= cube-unmult_binary64 (*.f64 x (*.f64 x x)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 x x) (*.f64 x (*.f64 x x)))): 3 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
Final simplification0.0
\[\leadsto \mathsf{fma}\left(x, x, {x}^{3}\right)
\]