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