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