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