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