Initial program 0.0
\[\left(x \cdot x + y\right) + y
\]
Taylor expanded in x around 0 0.0
\[\leadsto \color{blue}{2 \cdot y + {x}^{2}}
\]
Simplified0
\[\leadsto \color{blue}{\mathsf{fma}\left(x, x, y + y\right)}
\]
Proof
(fma.f64 x x (+.f64 y y)): 0 points increase in error, 0 points decrease in error
(Rewrite=> fma-udef_binary64 (+.f64 (*.f64 x x) (+.f64 y y))): 2 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (+.f64 y y) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite=> count-2_binary64 (*.f64 2 y)) (*.f64 x x)): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 2 y) (Rewrite<= unpow2_binary64 (pow.f64 x 2))): 0 points increase in error, 0 points decrease in error
Final simplification0
\[\leadsto \mathsf{fma}\left(x, x, y + y\right)
\]