Initial program 5.6
\[x \cdot \left(1 + y \cdot y\right)
\]
Taylor expanded in x around 0 5.6
\[\leadsto \color{blue}{\left(1 + {y}^{2}\right) \cdot x}
\]
Simplified0.1
\[\leadsto \color{blue}{\mathsf{fma}\left(y, y \cdot x, x\right)}
\]
Proof
(fma.f64 y (*.f64 y x) x): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (*.f64 y x)) x)): 1 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 y y) x)) x): 40 points increase in error, 7 points decrease in error
(+.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 y 2)) x) x): 0 points increase in error, 0 points decrease in error
(Rewrite=> distribute-lft1-in_binary64 (*.f64 (+.f64 (pow.f64 y 2) 1) x)): 2 points increase in error, 1 points decrease in error
(*.f64 (Rewrite<= +-commutative_binary64 (+.f64 1 (pow.f64 y 2))) x): 0 points increase in error, 0 points decrease in error
Final simplification0.1
\[\leadsto \mathsf{fma}\left(y, y \cdot x, x\right)
\]